[英]add a column from a dataset to another dataset in 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 <-merge(ds1 [,c(1:5)],ds2 [,c(2)])
但是它的作用是復制數據集(5 * 5 = 25行),同時添加“共享”列。 我顯然不希望重復的值。 謝謝
如果您知道這些行代表相同的ID,則可以進行綁定
ds3 <- cbind(ds1, share = ds2$share)
但是如果您有一個ID可以加入,那就更好了。
使用dplyr
library(dplyr)
bind_cols(ds1, ds2['share'])
或與data.table
setDT(ds1)[, share := ds2[["share"]]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.