我想创建一个新的数据框,该数据框从另一个数据框借用一个ID变量。我想合并的数据帧在ID列中有反复观察,这给我带来了一些问题。
DF1<-data.frame(ID1=rep(c("A","B", "C", "D", "E") , 2), X1=rnorm(10))
DF2<-data.frame(ID1=c("A", "B", "C", "D", "E"), ID2=c("V","W","X","Y" ,"Z"), X2=rnorm(5), X3=rnorm(5))
我想通过ID1列将DF2 $ ID2附加到DF。我的目标是这样的(我不希望在“目标”数据框中使用DF2 $ X2和DF $ X3):
Goal<-data.frame(ID2=DF2$ID2, DF1)
我尝试合并,但是它抱怨,因为DF1 $ ID1不是唯一的。我知道R可以在1行代码中浏览一下,但是我似乎无法使我知道的功能起作用。任何帮助将不胜感激!
简单的合并应该没有问题。使用样本数据
merge(DF1, DF2[,c("ID1","ID2")], by="ID1")
产生
ID1 X1 ID2
1 A 0.03594331 V
2 A 0.42814900 V
3 B -2.17161263 W
4 B -0.33403550 W
5 C 0.95407844 X
6 C -0.23186723 X
7 D 0.46395514 Y
8 D -1.49919961 Y
9 E -0.20342430 Z
10 E -0.49847569 Z
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句