在 R 中使用反连接
Using Anti Join in R
我是 R 的菜鸟,我一直在尝试比较使用文本挖掘导出的两个数据框,它有两列,一列包含单词,另一列包含计数。
假设它们是 dataframe1 和 dataframe2。
我正在尝试找出如何编写代码来 select 这些词出现在 dataframe2 中但不出现在 dataframe1 中。
如果我们必须在 excel 中使用它,我们只需在 dataframe2 中使用单词作为参考,并 VLOOKUP 来自 dataframe1 和 select #N/A 的相同单词列表在那里,然后根据最高计数对 #N/A 进行排序。
下图详细说明:
数据框 1
dataframe2:
如您所见,C & F 一词在 dataframe1 和 dataframe2 中。所以我们必须排除这个,它应该看起来像这样。
预期输出:
有人可以帮助我吗?我已经尝试了几个小时了。提前致谢。
有一个名为 anti_join
的 dplyr 函数可以做到这一点:
library(dplyr)
anti_join(df1, df2, by = c('Check'))
要按计数降序排序(感谢 Ben Bolker 指出问题的那一部分),您可以使用 arrange
.
library(dplyr)
df1 %>%
anti_join(df2, by = c('Check')) %>%
arrange(desc(Count))
我是 R 的菜鸟,我一直在尝试比较使用文本挖掘导出的两个数据框,它有两列,一列包含单词,另一列包含计数。 假设它们是 dataframe1 和 dataframe2。
我正在尝试找出如何编写代码来 select 这些词出现在 dataframe2 中但不出现在 dataframe1 中。
如果我们必须在 excel 中使用它,我们只需在 dataframe2 中使用单词作为参考,并 VLOOKUP 来自 dataframe1 和 select #N/A 的相同单词列表在那里,然后根据最高计数对 #N/A 进行排序。
下图详细说明: 数据框 1
dataframe2:
如您所见,C & F 一词在 dataframe1 和 dataframe2 中。所以我们必须排除这个,它应该看起来像这样。
预期输出:
有人可以帮助我吗?我已经尝试了几个小时了。提前致谢。
有一个名为 anti_join
的 dplyr 函数可以做到这一点:
library(dplyr)
anti_join(df1, df2, by = c('Check'))
要按计数降序排序(感谢 Ben Bolker 指出问题的那一部分),您可以使用 arrange
.
library(dplyr)
df1 %>%
anti_join(df2, by = c('Check')) %>%
arrange(desc(Count))