我很抱歉提出这个问题,因为我过去看过类似的东西,但我找不到它(所以重复是可以理解的)。
我有2个数据框,我想将出现在2个数据框中的所有(匹配)客户移动到其中一个中。请注意我想添加整行。
以下是一个例子:
# df1
customer_ip V1 V2
1 15 20
2 12 18
# df2
customer_ip V1 V2
2 45 50
3 12 18
我希望我的新数据框看起来像:
# df1
customer_ip V1 V2
1 15 20
2 12 18
2 45 50
# df2
customer_ip V1 V2
3 12 18
提前谢谢!
答案 0 :(得分:3)
就是这样。
df1<-rbind(df1,df2[df2$customer_ip %in% df1$customer_ip,])
df2<-df2[!(df2$customer_ip %in% df1$customer_ip),]
编辑:Gaurav&amp; Sotos在我之前来到这里,我的写作基本上是相同的答案,但是我会把它留在这里,因为它显示的代码没有多余的&#39;其中&#39;
答案 1 :(得分:1)
这应该可以解决问题:
#Add appropriate rows to df1
df1 <- rbind(df1, df2[which(df2$customer_ip %in% df1$customer_ip),])
#Remove appropriate rows from df2
df2 <- df2[-which(df2$customer_ip %in% df1$customer_ip),]