合并具有r中条件的数据集

时间:2017-05-06 20:44:42

标签: r

我有一个如下所示的数据集:

df1

'X19'是另一个数据集的行号。如何合并这两个数据集,以便'FNUMM'将添加到'X19'中出现的每一行?

df2

感谢。

2 个答案:

答案 0 :(得分:2)

尝试merge(df1, df2, by = 'X19'),其中df1和df2是您的两个数据框。

答案 1 :(得分:2)

这是一个合并,其中一个键是一个数据集的rownames。你可以这样做:

 cbind(df1, df2[, "FNUMM"][match(rownames(df1), df2$X19)])

这是一个可重现的例子

df1 <- data.frame(ID=c(1L,1L,1L,1L,2L,2L,3L,3L), 
                 var=c(1:8), Smoke=c('No','No','Yes','No','No','No','Yes','No'))

df2 <- data.frame(X19=c(2,5,8), FNUMM=c('a','b','c'))

cbind(df1, df2[, "FNUMM"][match(rownames(df1), df2$X19)])