我有这两个数据帧:
df1 < - data.frame(a = c(1,2,3,1,2,3,1,2,3),b = c(11,21,31,12,22,32,13,23, 33))
df2 < - data.frame(a = c(1,2,3,1,2,3,1,2,3),c = c(101,201,301,102,202,302,103,203,303))
我想将列“b”和“c”合并到一个新的数据帧中,但使用“a”作为关键变量 .
预期的结果如下:
df.output < - data.frame(b = c(21,22,23),c = c(201,202,203))
我已经尝试了dplyr的join函数,但是我们已经成功了 .
谢谢,
quelemem
2 回答
Edit
根据OP的其他评论,调整原始解决方案可以实现所需的输出(尽管我认为@akrun's答案在这种情况下更好的选择,因为不需要
nest
/unnest
) .Original answer
正如@akrun在评论中提到的那样,期望的输出并不完全清楚 . 你的意思是这样的输出吗?
基于OP在评论中提到的逻辑,我们可以'a'只有'a'中的行值为2,然后
mutate
列'c'通过获取相应的'c'值'a'是2或使用
base R