我使用重复结果来估算化学分析的测量不确定度。当我从实验室数据库中提取数据时,它主要由单个结果组成,但有些样本经过两次测试,有两次超过两次(我见过12次)。我想丢弃所有单个分析,只保留重复的结果,但包括原始结果。
样品由重复样品共有的样品编号识别。
我可以使用duplicated()删除重复项,但是如何保留第一个结果呢?
感谢。
答案 0 :(得分:3)
> dat <- data.frame(
id = sample(1:5, 10, replace = TRUE),
x = rnorm(10)
)
> dat
## id x
## 1 1 0.7060512
## 2 4 0.6804117
## 3 2 0.2395902
## 4 2 1.5352574
## 5 1 0.2376593
## 6 4 0.8019506
## 7 1 -1.0506505
## 8 5 1.0554555
## 9 3 0.3637685
## 10 5 -0.8404215
> dat[duplicated(dat$id) | duplicated(dat$id, fromLast = TRUE),]
## id x
## 1 1 0.7060512
## 2 4 0.6804117
## 3 2 0.2395902
## 4 2 1.5352574
## 5 1 0.2376593
## 6 4 0.8019506
## 7 1 -1.0506505
## 8 5 1.0554555
## 10 5 -0.8404215