【发布时间】:2018-11-05 08:59:31
【问题描述】:
我有两个数据框(df1 和 df2),我想根据 df1 中包含的前两列对 df2 进行子集化。例如,
df1 = data.frame(x=c(1,1,1,1,1),y=c(1,2,3,4,5),value=c(3,4,5,6,7))
df2 = data.frame(x=c(1,1,1,1,1,2), y=c(5,3,4,2,1,6), value=c(8,9,10,11,12,13))
如我们所见,df2 中的第 6 行 (2,6) 不包含在df1 中,所以我将只选择 df2 中的第 1 行到第 5 行。
另外,我想根据df1 重新排列df2。最终的结果应该是这样的:
感谢您的帮助。
【问题讨论】:
-
一种可能的解决方案是
df1 %>% select(x,y) %>% inner_join(df2, by=c("x","y"))