根据R中的另一个数据帧替换列中的某些值

时间:2016-11-29 09:19:47

标签: r

我正在努力替换R中列中的一些值。在我的数据框中,有超过100000行;但是,我在这里简化了一些事情。让我们考虑这个虚构的数据框:

ID<-c("Rick","Anna","Sarah","Mike","Kim","Garrett","Tom")
Age<-c(31,23,26,43,32,41,22)
df1<-cbind(ID,Age)

ID        Age

Rick      31
Anna      23
Sarah     26
Mike      43
Kim       32
Garrett   41
Tom       22

但是,此数据框中的某些年龄信息是错误的,df2具有正确的年龄信息。

ID<-c("Rick","Tom")
Age<-c(35,23)
df2<-cbind(ID,Age)

ID      Age
Rick    35
Tom     23

我的问题是,如何在df2中获取正确的值并将它们提供给df1?

我在stackoverflow上尝试过其他类似情况的解决方案,包括:

df1$Age<-df2$Age[df1$ID %in% df2$ID]
df1$Age<-df2$Age[match(df1$ID, df2$ID]

这些代码采用df2中的值,并为df2中不可用的ID返回NAs。

我需要建议。

0 个答案:

没有答案