[英]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.