我試圖弄清楚如何添加一個新列來告訴我 2 列是否匹配。虛擬資料集如下:
col_A col_B
food food
drink food
food drink
drink drink
我想要的是這樣的:
col_A col_B match_col
food food match
drink food no match
food drink no match
drink drink match
我不確定我是否需要加入或 ifelse 或兩者的組合?
uj5u.com熱心網友回復:
您可以使用==.
對于兩列:
df |>
transform(match_col = ifelse(col_A == col_B, "match", "no match"))
對于多列:
library(dplyr)
df %>%
mutate(match_col = if_all(col_B:col_D, `==`, col_A))
uj5u.com熱心網友回復:
嘗試運行它,看看它是如何作業的。不是最復雜的代碼,但很容易理解。
col_A<-c("food","drink")
col_B<-c("food","food")
df<-data.frame(col_A,col_B)
res<-match(df$col_A,df$col_B)
res<-gsub(1,"match",res)
res[is.na(res)]<-"no match"
res
df<-data.frame(df,res)
df
uj5u.com熱心網友回復:
如果您的資料框被呼叫mydf并且您可以使用TRUEandFALSE而不是“匹配”和“不匹配”,則呼叫此函式==,如
mydf$col_A == mydf$col_B
或者
mydf$match_col <- mydf$col_A == mydf$col_B
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510820.html
