簡體   English   中英

將數據集中的列添加到R中的另一個數據集中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM