我有两个不同列的dataframe,它们有很多行(大约200万行)。
第一个是df1

第二个是df2。

我需要将y列中的值从表一匹配到表二中的R列:请参见df1中的红色框中的两行与红色框中的df2中的两行匹配

然后我需要得到匹配值的分数。
因此,结果应该是这样的,并且应该是存储在dataframe中的:

我的尝试是:首先我是R的初学者,所以当我搜索时,我发现我可以使用匹配函数,合并函数,但是我没有得到我想要的结果,因为我不知道如何正确地使用它们,因此,我需要一步一步地非常简单的解决方案
发布于 2018-03-07 04:31:51
我们可以使用来自match的base R
df2[match(df2$R, df1$y, nomatch = 0), c("R", "score")]
# R score
#3 2 3
#4 111 4或者另一种选择是来自semi_join的dplyr
library(dplyr)
semi_join(df2[-1], df1, by = c(R = "y"))
# R score
#1 2 3
#2 111 4发布于 2018-03-07 04:00:00
merge(df1,df2,by.x="y",by.y="R")[c("y","score")]
y score
1 2 3
2 111 4https://stackoverflow.com/questions/49143772
复制相似问题