如果对象是一个向量,我可以用下面的方法得到相同记录的顺序:
> serial <- c("df12", "cv22", "ca11", "he22", "jj32", "sq11", "cv22")
> which(serial%in%serial[duplicated(serial)])
[1] 2 7
如果对象是 data.frame,我该怎么办?
which(iris%in%iris[duplicated(iris)])
Error in `[.data.frame`(iris, duplicated(iris)) :
undefined columns selected
> which(duplicated(iris))
[1] 143
> iris[143,]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
143 5.8 2.7 5.1 1.9 virginica
> iris[which(iris[,1]==5.8),]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
15 5.8 4.0 1.2 0.2 setosa
68 5.8 2.7 4.1 1.0 versicolor
83 5.8 2.7 3.9 1.2 versicolor
93 5.8 2.6 4.0 1.2 versicolor
102 5.8 2.7 5.1 1.9 virginica
115 5.8 2.8 5.1 2.4 virginica
143 5.8 2.7 5.1 1.9 virginica
同一条记录的顺序是 102 和 143,我怎样才能用一行 R 命令得到呢?