R 中是否有执行独占全连接的功能?
Is there a function in R to perform an exclusive full join?
我正在合并两个具有重叠观察结果的数据框。这些观察结果不会在所有列上重叠,因此它们并不相同,但它们在我认为对链接很重要的列上是相同的。我如何 merge/join 排除匹配的观测值?
我熟悉不同的连接函数以及如何使用 merge()
执行内部和外部连接,但我没有看到用于排除构成内部连接的行的选项。
这是一个类似的问题,
但它假设每个数据框中都有不同的列,这些列将在完全连接时生成 NA。如果数据框共享所有相同的列,你会怎么做?
我使用的解决方法是使用 duplicated()
从 first 和 last 开始完全加入后删除行。有没有更优雅的方式获取inner join的补码?
df_joined <- merge(df1, df2, all = TRUE)
df_joined <- subset(df_joined, !(duplicated(df_joined[
,linking_cols])==TRUE | duplicated(df_joined[ ,linking_cols], fromLast =
TRUE)==TRUE))
你需要合并两个反连接
library(dplyr)
bind_rows(
anti_join(df1, df2),
anti_join(df2, df1),
)
我正在合并两个具有重叠观察结果的数据框。这些观察结果不会在所有列上重叠,因此它们并不相同,但它们在我认为对链接很重要的列上是相同的。我如何 merge/join 排除匹配的观测值?
我熟悉不同的连接函数以及如何使用 merge()
执行内部和外部连接,但我没有看到用于排除构成内部连接的行的选项。
这是一个类似的问题,
我使用的解决方法是使用 duplicated()
从 first 和 last 开始完全加入后删除行。有没有更优雅的方式获取inner join的补码?
df_joined <- merge(df1, df2, all = TRUE)
df_joined <- subset(df_joined, !(duplicated(df_joined[
,linking_cols])==TRUE | duplicated(df_joined[ ,linking_cols], fromLast =
TRUE)==TRUE))
你需要合并两个反连接
library(dplyr)
bind_rows(
anti_join(df1, df2),
anti_join(df2, df1),
)