【发布时间】:2018-03-16 14:39:50
【问题描述】:
假设我有两个 data.frames:
A<-data.frame(a=c("b","a", "a", "e", "e","a"),Za=c(11,22,33,44,55,66))
B<-data.frame(b=c("a","a", "b", "e", "f","f"),Zb=c(11,22,33,44,55,66))
现在我想根据 a 和 b 列来匹配它们,但要支持所有可能的组合。所以最后我想拥有:
Anew<-data.frame(a=c("a","a","a","a","a","a","b","e","e","f","f"),Za=c(11,11,11,22,22,22,33,44,44,55,66))
Bnew<-data.frame(b=c("a","a","a","a","a","a","b","e","e",NA,NA),Zb=c(22,33,66,22,33,66,11,44,55,NA,NA))
Anew
a Za
1 a 11
2 a 11
3 a 11
4 a 22
5 a 22
6 a 22
7 b 33
8 e 44
9 e 44
10 f 55
11 f 66
Bnew
b Zb
1 a 22
2 a 33
3 a 66
4 a 22
5 a 33
6 a 66
7 b 11
8 e 44
9 e 55
10 <NA> NA
11 <NA> NA
如果可能的话,我不想使用 ncomb,因为我的向量真的非常大,这会扼杀我的记忆。快速运行的解决方案将是完美的!
非常感谢您的每一个帮助!
【问题讨论】:
-
我不确定它是否完全重复,因为 OP 还想添加有关 a 和 b 的信息。查看答案的 cmets。