我有一个大型数据框,其中包含有关个人性别的信息。我有第二个数据框,其中包含对这些人的观察,我想为每个人填写相应的性别。
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列中?
答案 0 :(得分:1)
您可以尝试match
b$Gender <- a$Gender[match(b$Individual, a$Individual)]
另一种选择是使用merge
。
library(data.table)
setkey(setDT(a), Individual)[b['Individual']]