df1
id value
1 1 10
2 2 20
3 3 30
4 4 40
5 5 50
df2
id value
1 2 25
2 3 35
I would like to have the following df3:
df3
id value
1 1 10
2 4 40
3 5 50
换句话说,我只想删除df1和df2之间相同的ID。我怎么能那样做?
您可以使用
df1[!df1$id %in% df2$id, ]
#> id value
#> 1 1 10
#> 4 4 40
#> 5 5 50
问题的可复制数据
df1 <- data.frame(id = 1:5, value = 10 * (1:5))
df2 <- data.frame(id = 2:3, value = c(25, 35))
我创建了新的伪数据来简化示例。随意应用于其他数据帧
# dummy df
df <- data.table(id = 1:2); df
id
1: 1
2: 2
# dummy df1
df1 <- data.table(id = 2:3); df1
id
1: 2
2: 3
# common rows
x <- intersect(unique(df$id), unique(df1$id))
# exclude
rbind(df, df1)[!id %in% x]
id
1: 1
2: 3