我有一个像这样的数据框
head(data)
V1 V2 V3 V4 V5 V6 V7
1 a 1941 2 14 -73.90 38.60 US009239
2 b 1941 2 14 -74.00 36.90 US009239
3 c 1941 2 14 -74.00 35.40 US009239
4 a 1941 2 15 -74.00 34.00 US009239
5 d 1941 2 15 -74.00 32.60 US009239
6 f 1941 2 15 -73.80 31.70 US009239
我想要做的是消除对应于重复数据$ V1的行(最大数据$ V1重复数为2)。问题是,如果我做
newdata <- data[!duplicated(data$V1),]
它将保留第一个
head(newdata)
V1 V2 V3 V4 V5 V6 V7
1 a 1941 2 14 -73.90 38.60 US009239
2 b 1941 2 14 -74.00 36.90 US009239
3 c 1941 2 14 -74.00 35.40 US009239
5 d 1941 2 15 -74.00 32.60 US009239
6 f 1941 2 15 -73.80 31.70 US009239
虽然我想保留第二个
head(newdata)
V1 V2 V3 V4 V5 V6 V7
2 b 1941 2 14 -74.00 36.90 US009239
3 c 1941 2 14 -74.00 35.40 US009239
4 a 1941 2 15 -74.00 34.00 US009239
5 d 1941 2 15 -74.00 32.60 US009239
6 f 1941 2 15 -73.80 31.70 US009239
任何帮助?
答案 0 :(得分:2)
duplicated
有一个fromLast
参数,可以满足您的需求:
duplicated(c('a', 'b', 'c', 'a', 'd', 'f'), fromLast=TRUE)
## [1] TRUE FALSE FALSE FALSE FALSE FALSE