匹配" df $ x" in" df2 $ x"然后用df2 $ m替换df1 $ y

时间:2017-04-16 22:16:57

标签: r replace match

这是一个可以说明的数字,因为我无法通过dput和dump重现。 我尝试将for()循环与匹配或%in%结合使用,但我无法及时通过。

Image

我想在df2中将df1中的ID与ACCESSION匹配,然后替换 " NA"在df1中,来自df2的GENE_SYMBOL。

值的顺序不同,列的大小也不同。因此,我相信我应该使用for循环+匹配或其他东西的组合。

1 个答案:

答案 0 :(得分:0)

看起来你需要一个左连接,如:

merge(df1, df2, by.x = "ID", by.y = "ACCESSION", all.x = TRUE)

如果您使用的是dplyr,则可以执行

library(dplyr)
left_join(df1, df2, by = c("ID" = "ACCESSION"))