【发布时间】:2021-08-06 02:58:14
【问题描述】:
我是一名 R 爱好者,学习缓慢。我介绍一下情况:
我有两个数据框,有几列 (4) 和 +10000 行,看起来像这样:
df1: df2:
Nº x y attr Nº x y attr
1 45 34 X 1 34 23 x
1 48 45 XX 4 123 45 x
1 41 23 X 4 99 69 xx
4 23 12 X 4 112 80 xx
4 28 16 X 5 78 80 x
5 78 80 XXX 5 69 74 xx
...
我想比较基于 x,y(坐标)的两个数据框,以在 df1 中删除也出现在 df2 中的所有值(两个数据集中包含的所有值/坐标,在 df1 中删除它们)。
所以在我的示例中,df1 的最后一行将被删除,因为 df2 中的坐标相同。
我正在做的是使用双循环 for(),一个用于一个数据集,另一个用于另一个数据集,以逐一比较所有可能的值。 我知道这是非常低效的,如果我增加数据量也需要很多时间。
还有什么其他方法可以做到这一点? 可能有一些功能,但我通常不知道如何使用它们,这给我带来了问题。
非常感谢!!
【问题讨论】:
标签: r dataframe for-loop compare subset