我有以下两个数据框:
a1 <- data.frame(count = 1:10, site = "a")
a2 <-data.frame(count = 2:8, site = "b")
a4 <- data.frame(count = c(3,6,7,9), site = "a")
a5 <- data.frame(count = c(3,5,7), site = "b")
data1 <- rbind(a1, a2)
data2 <- rbind(a4, a5)
我希望生成一个数据框,列出基于“count”列在data2中未找到的data1中的行。有许多方法可以做到这一点,例如:
method1 <- rbind(data1, data2)
method1[!duplicated(method1,fromLast = FALSE)&!duplicated(method1,fromLast = TRUE),]
这将返回:
count site
1 1 a
2 2 a
4 4 a
5 5 a
8 8 a
10 10 a
11 2 b
13 4 b
15 6 b
17 8 b
或者是类似这样的东西(作为一个旁问,这行代码没有完美地工作,如果您有任何想法,我将不胜感激,因为我已经在其他几个数据处理步骤中使用了这个命令)。
method2 <- data1[!data1$count %in% data2$count,]
无论如何,主要问题是:我如何仅返回data2计数范围内缺失的行?也就是说,我希望输出为:
count site
4 4 a
5 5 a
8 8 a
13 4 b
15 6 b
我有数百个数据框,每个数据框都包含许多具有高度可变范围的站点。
这是我第一次发布问题,感谢您花时间阅读我的问题,我欣赏任何建议的解决方案。