【发布时间】:2020-03-16 17:03:29
【问题描述】:
假设我有以下 dfs
df1:
a b c d
1 2 3 4
4 3 3 4
9 7 3 4
df2:
a b c d
1 2 3 4
2 2 3 4
3 2 3 4
现在我想合并列“a”的两个dfs条件来给我以下df
a b c d
1 2 3 4
4 3 3 4
9 7 3 4
2 2 3 4
3 2 3 4
在我的数据集中我尝试使用
merge <- merge(x = df1, y = df2, by = "a", all = TRUE)
但是,虽然 df1 有 50,000 个条目,而 df2 有 100,000 个条目,并且在 a 列中肯定有匹配的值,但合并后的 df 有超过一百万个条目。我不明白这个。据我了解,应该有最大值。合并的 df 中有 150,000 个条目,当两个 df 之间的 a 列中没有值相等时就是这种情况。
【问题讨论】:
-
使用您在上面提供的示例数据集,该示例有效。这意味着它可能与您的数据集的格式/结构有关。
str(df1)和str(df2)的输出是什么?需要注意的一件事是,如果两个数据集中的列名相同,它将通过将.y添加到第二个数据集中的列来生成新的列名。我假设这只是示例。