簡體   English   中英

在兩個相同的列中添加一個字符串 dataframe R

[英]Add a string into identical columns in two dataframe R

我有兩個數據框(見下文),我想在第一個 df 中為不同 dataframe 的 2 列“團隊”在相同世界的末尾添加一個字符串“*”。

df <- data.frame(team=rep(c('Blue', 'Red', 'Green', 'Purple', 'Pink'), each=2),
                 pos=rep(c('G', 'F'), times=4),
                 points=round(runif(8, 4, 20),0))

View(df)

df2 <-data.frame(team=rep(c('Blue', 'Purple', 'Pink', 'Yellow'), each=2))

View(df2)

預期結果:

在此處輸入圖像描述

如果我們正在尋找逐元素比較,請使用==創建一個邏輯表達式,然后從 'df' 中提取 'team' 中的那些元素並在末尾paste *

i1 <- df$team == df2$team 
df$team[i1] <- paste0(df$team[i1], "*")

如果長度不同,則 append NA用於末尾較短的長度向量進行逐元素比較

lst1 <- list(df$team, df2$team)
mx <- max(lengths(lst1))
i1 <- Reduce("==", lapply(lst1, "length<-", mx))
i1[is.na(i1)] <- FALSE
df$team[i1] <- paste0(df$team[i1], "*")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM