r - 合并具有非唯一列的数据框

标签 r merge

我想创建一个从另一个数据框中借用 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

关于r - 合并具有非唯一列的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234775/

相关文章:

r - 转置列表列表内的数据框

r - 如何安装不在 conda 存储库中的 R 软件包?

git - 在 Git 中,我可以查看分支 merge 中的所有提交吗?

r - 如何在R中一起绘制多个堆叠的直方图?

r - 如何检查向量是否是 LIFO/FIFO 递减

macos - R中的sqldf包,查询数据框

r - 将两个数据框合并为一个,其中条目被串联

python - Pandas 在连接字符串时合并结果丢失的行

git - git merge --no-ff 和 git merge --squash 有什么区别

r - 在每个时间单位具有不同观测值的数据框中填充 "implied missing values"