我有两个数据集。假设数据A和数据B以及两个数据集具有id变量。 在两个数据集中,我想删除不重叠的id。换句话说,我想保留两个数据集中存在的ID。
答案 0 :(得分:0)
这取决于您是要为每个数据集单独执行此操作,还是要将两个数据集合并为一个数据集(或数据框)。您可以使用dplyr
尝试此操作。
library(dplyr)
df1 <- data.frame(id = c("A", "B", "C"),
var1 = c(1,2,3))
df2 <- data.frame(id = c("A", "C", "E"),
var2 = c(4,5,6))
# matching ids in data frame 1
dplyr::semi_join(df1, df2, "id")
> id var1
> 1 A 1
> 2 C 3
# matching ids in data frame 2
dplyr::semi_join(df2, df1, "id")
> id var1
> 1 A 4
> 2 C 5
# merge column from both data frames
# matching the id
dplyr::inner_join(df1, df2, "id")
> id var1 var2
> 1 A 1 4
> 2 C 3 5