我有两个数据框:
df1:
k1 k2 k3 k4
1 Alfred Hitchcock 0
2 Claude Renoir 0
3 Jean Renoir 0
4 Louis Mallet 0
5 Louis Jouvet 0
和 df2 :
k1 k2 k3
1 Paul Newman
2 Alfred Hitchcock
3 Ernst Jünger
我想找到一种方法来比较我的两个数据框的 k2 和 k3 列。如果有一个重复的项目,相对于 k2 和 k3,从 df1 到 df2(这里 df1 “Alfred”/“Hitchcock” 的第一个条目与 df2 的第二个条目匹配),我想更新 k4。我想要这个结果:
k1 k2 k3 k4
1 Alfred Hitchcock 1
2 Claude Renoir 0
3 Jean Renoir 0
4 Louis Mallet 0
5 Louis Jouvet 0
我考虑过使用简单的指令,例如:
df1$k4 [df1$k2 %in% df2$k2 & df1$k3 %in% df2$k3] <- 1
但它不起作用。我也考虑过使用 merge() 指令,但它似乎无法帮助我(我并不特别需要合并我的数据框)。
我想我可以用 SQL 处理它,但是用 R 不能......我试过 sqldf 但它不适用于 OUTER 和 FULL JOIN。
PS:由于我的数据框非常大,我尝试不使用循环