从数据集R中添加一列到另一个数据集
问题描述:
想我已经被添加了两个数据集从数据集R中添加一列到另一个数据集
DS1
NO ID DOB ID2 count
1 4083 2007-10-01 3625 5
2 4408 2008-07-01 3603 2
3 4514 2007-07-01 3077 3
4 4396 2008-05-01 3413 5
5 4222 2003-12-01 3341 1
DS2
loc share
12 445
23 4
10 56
1 1
23 34
我想要 “分享” DS2的列到ds1,使它看起来像
重新编号
NO ID DOB ID2 count share
1 4083 2007-10-01 3625 5 445
2 4408 2008-07-01 3603 2 4
3 4514 2007-07-01 3077 3 56
4 4396 2008-05-01 3413 5 1
5 4222 2003-12-01 3341 1 34
我试图合并作为 dsmerged < - 合并(DS1 [,C(1:5)],DS2 [,C(2)])
但它的作用是它重复数据集(5 * 5 = 25行),同时添加“共享”列。我不希望那些重复的值显然。谢谢
答
如果您知道该行表示相同的ID,那么你可以只cbind
ds3 <- cbind(ds1, share = ds2$share)
,但它会更好,如果你有一个ID加入上。
+0
谢谢:)它的工作原理! – Sanju
答
使用dplyr
library(dplyr)
bind_cols(ds1, ds2['share'])
或用data.table
setDT(ds1)[, share := ds2[["share"]]]
难道你有一个关键的合并?看起来“NO”和“loc”应该是你的钥匙?如果你只是想添加共享列和顺序无关紧要,你可以简单地执行'ds1 $ share Psidom