我有两个数据帧中的数据,如下所示,我试图合并变量"式16";使用以下代码df3 = left_join(df1, df2, by = "block")
到df1。问题是,这在我的新数据集中创建了许多重复的行,我可以使用unique()
来消除这些行。但是,文件很大,这需要很长时间。有更干净的方法吗?
df1
block | time | xp | >yp |
---|---|---|---|
1 | 2150472 | 1021。 | 65|
1 | 2150473 | 1021。 | 65。3481 |
1 | 2150474 | 1021。 | 65。3477 |
如果df2有重复项,我们可以使用unique
来消除它们。即
df2_clean <- unique(df2)
library(dplyr)
df1_and_df2 <- df1 %>% left_join(df2_clean)
解释最初问题的原因:
如果我们连接两个数据集x
和y
,其中公共列在这两个数据集中都不是唯一的,则连接将结合x
中的每个观测值和y
中的