仅当某列上的值不重复时才绑定数据框

时间:2015-11-27 02:56:27

标签: r vector dataframe

我有一个示例数据框如下:

B*

我想用这个

绑定它
df_1

id     value     value_2
1      1.1545    hello
2      185.11    foo
8      135415    bar

由于df_1中存在id 1,因此第三行不得绑定。

所以它应该是

df_2

id     value     value_2
3      0.0455    ahh
4      0.11      ehh
1      0.44      ihh

1 个答案:

答案 0 :(得分:2)

这可以通过将数据集放在list中,然后rbindrbindlist放在data.table来完成,并选择只有'id'的行没有重复。如果有duplicated个ID,则会保留第一个“id”行,其他行将被删除。

library(data.table)
rbindlist(list(df_1, df_2))[!duplicated(id)]

上述变体使用unique

unique(rbindlist(list(df_1, df_2)), by = 'id')

或者

rbind(df_1,df_2[!df_2$id %in% df_1$id,])