我正在尝试识别在矩阵中表示两次或更多次的所有行。
例如:
m <- matrix(c(1,2,1,3,1,4,1,2,2,3,2,3,1,2,5), ncol = 3)
m
duplicated(m[,1])
输出:
[,1] [,2] [,3]
[1,] 1 4 2
[2,] 2 1 3
[3,] 1 2 1
[4,] 3 2 2
[5,] 1 3 5
[1] FALSE FALSE TRUE FALSE TRUE
但是,我不想要那个输出。我想要:
[1] TRUE FALSE TRUE FALSE TRUE
因为 row[1,1] 的值在 m 的第 1 列中出现了 3 次。
最佳答案
当我看到这个问题时,我问自己“Jim Holtman 或 Bill Dunlap 对 Rhelp 有什么建议?”。没有查看文件,但我认为他们可能建议使用 duplicated
的两个“并行”应用程序。 ,一个是默认值,一个是 fromLast
参数并与向量 OR ( |
) 运算符连接。
duplicated(m[,1]) | duplicated(m[,1], fromLast=TRUE)
[1] TRUE FALSE TRUE FALSE TRUE
关于r - 识别重复项并标记第一次出现和所有其他出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16265808/