如何从一个数据框中搜索和查找并在另一个数据框中替换?

时间:2017-07-11 19:20:08

标签: arrays r dataframe

我有两个数据框如下:

df1 = data.frame(a = c(1, 2, 3, 4, 507, 505), b = c(10, 20, 30, 40, 50, 60))
df2 = data.frame(A = c(501, 502, 503, 504, 505, 506, 507), 
                 B = c(601, 602, 603, 604, 605, 606, 607))

我想找到df1$b等于df2$A的{​​{1}}的值。在这个简单的例子中,我正在寻找50和60 df1$a

我尝试了以下内容:

df1$a == df2$A

并不总是返回值以便更大的数据集。例如,当我使用以下类似于更复杂的数据集时,即df1$b[which(df2$a %in% df1$A)] FTN类似于top_listdf1

df2

以下行不会返回与我预期相同的值。

  top_list$performance <- FTN$YIELD_MEAN_NBR[which(as.character(FTN$PLOT_GRID_ID) %in% top_list$gridID)]

这让我很困惑!

1 个答案:

答案 0 :(得分:2)

您需要检查df1$a中的df2$A,而不是相反:

df1$b[df1$a %in% df2$A]
# [1] 50 60