R:链接数据集中的值并填充相应的值

时间:2015-02-21 15:02:59

标签: r dataframe

我有一个大型数据框,其中包含有关个人性别的信息。我有第二个数据框,其中包含对这些人的观察,我想为每个人填写相应的性别。

a <- data.frame(Individual = c(1,2,3,4,5,6,7,8), 
            Gender = c("M","M","F","F","M","F","M","M"))

b <- data.frame(Individual = c(2, 1, 5, 2, 8, 8, 3, 3, 4, 4, 4, 5, 6, 1, 7),
            Gender = c(NA))

如果两个data.frames的顺序和长度不同,我可以使用哪些R代码从data.frame a中获取有关Individual的性别的信息并将其填入data.frame b的Gender列中?

1 个答案:

答案 0 :(得分:1)

您可以尝试match

b$Gender <- a$Gender[match(b$Individual, a$Individual)]

另一种选择是使用merge

library(data.table)
setkey(setDT(a), Individual)[b['Individual']]