我有两个龙虾卵大小数据集,由不同的取样器采集,用于评估测量变异性。每个取样器从许多龙虾中测量约50个龙虾卵。然而,偶尔会有一些龙虾只被处理了一个取样器,而另一个取样器则没有。我想将两个取样器的数据合并成一个新数据集,但删除仅由一个取样器处理的龙虾的所有数据。我已经尝试过使用dplyr和semi_join以及intersect,但需要在数据集1->2和2<-1之间执行匹配。我能创建一个新数据集,它可以将两个取样器的行绑定在一起,但不清楚如何从新数据集中删除两个数据集之间的唯一龙虾ID。
这是我的数据的简化版本,其中有从多个龙虾中进行多次卵区域测量的情况,但采样不总是重叠(即,个体只由一个采样器测量而不是另一个采样器)。
脚本的底线是从模拟数据中得到的期望结果。我希望将其限制在基础R或dplyr的使用范围内。
这是我的数据的简化版本,其中有从多个龙虾中进行多次卵区域测量的情况,但采样不总是重叠(即,个体只由一个采样器测量而不是另一个采样器)。
install.packages(dplyr)
library(dplyr)
sampler1 <- data.frame(LobsterID=c("Lobster1","Lobster1","Lobster2",
"Lobster2","Lobster2","Lobster2",
"Lobster2","Lobster3","Lobster3","Lobster3"),
Area=c(.4,.35,1.1,1.04,1.14,1.1,1.05,1.7,1.63,1.8),
Sampler=c(rep("Sampler1", 10)))
sampler2 <- data.frame(LobsterID=c("Lobster1","Lobster1","Lobster1",
"Lobster1","Lobster1","Lobster2",
"Lobster2","Lobster2","Lobster4","Lobster4"),
Area=c(.41,.44,.47,.43,.38,1.14,1.11,1.09,1.41,1.4),
Sampler=c(rep("Sampler2", 10)))
combined <- bind_rows(sampler1, sampler2)
desiredresult <- combined[-c(8, 9, 10, 19, 20), ]
脚本的底线是从模拟数据中得到的期望结果。我希望将其限制在基础R或dplyr的使用范围内。