R的duplicated
返回一个 vector ,该 vector 表示 vector 或数据帧的每个元素是否都是下标较小的元素的重复。因此,如果5行数据帧的第3、4和5行相同,则duplicated
将为我提供 vector
FALSE, FALSE, FALSE, TRUE, TRUE
但是在这种情况下,我实际上想要
FALSE, FALSE, TRUE, TRUE, TRUE
也就是说,我想知道行是否也被较大的下标的行重复。
最佳答案
duplicated
有一个fromLast
参数。 ?duplicated
的“示例”部分显示了如何使用它。只需两次调用duplicated
,一次使用fromLast=FALSE
,一次使用fromLast=TRUE
,并获取其中任一行为TRUE
的行。
一些后期编辑:
您没有提供可复制的示例,因此以下示例由@jbaums提供
vec <- c("a", "b", "c","c","c")
vec[duplicated(vec) | duplicated(vec, fromLast=TRUE)]
## [1] "c" "c" "c"
编辑:还有一个数据框情况的示例:
df <- data.frame(rbind(c("a","a"),c("b","b"),c("c","c"),c("c","c")))
df[duplicated(df) | duplicated(df, fromLast=TRUE), ]
## X1 X2
## 3 c c
## 4 c c
关于r - 查找所有重复的行,包括 “elements with smaller subscripts”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7854433/