我有两个每个有两列的数据框需要比较,我想生成仅出现在第一个数据框中的输出,即当在数据框之间比较两列的交互时得到的差异。
我尝试使用合并(merge)、%in%、Interaction、match等方法,但似乎无法得到正确的输出。我也在SO上进行了广泛搜索,但没有找到类似的问题。
我找到的最接近的响应是:
我尝试使用合并(merge)、%in%、Interaction、match等方法,但似乎无法得到正确的输出。我也在SO上进行了广泛搜索,但没有找到类似的问题。
我找到的最接近的响应是:
newdat <- match(interaction(dfA$colA, dfA$colB), interaction(dfB$colA, dfB$colB))
但显然,这段代码不正确,因为如果它能工作的话,会给我一个在数据框之间共同的东西,而我想要的是它们之间的差异(出现错误-它生成一个数字向量,当colA和B都是字符串时)。
数据示例:
#Dataframe A
colA colB
Aspirin Smith, John
Aspirin Doe, Jane
Atorva Smith, John
Simva Doe, Jane
#Dataframe B
colA colB
Aspirin Smith, John
Aspirin Doe, Jane
Atorva Doe, Jane
## GOAL:
#Dataframe
colA colB
Atorva Smith, John
Simva Doe, Jane
谢谢!
data.table
中,可以使用fsetdiff(datA, datB)
或使用dplyr
中的anti_join(datA, datB)
。 - akrun