我有两个数据框如下:
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_list
和df1
:
df2
以下行不会返回与我预期相同的值。
top_list$performance <- FTN$YIELD_MEAN_NBR[which(as.character(FTN$PLOT_GRID_ID) %in% top_list$gridID)]
这让我很困惑!
答案 0 :(得分:2)
您需要检查df1$a
中的df2$A
,而不是相反:
df1$b[df1$a %in% df2$A]
# [1] 50 60