识别重复项并标记第一次出现和所有其他出现

jef*_*Rey 10 r duplicates

我正在尝试识别在矩阵中表示两次或更多次的所有行.

例如:

m <- matrix(c(1,2,1,3,1,4,1,2,2,3,2,3,1,2,5), ncol = 3)
m
duplicated(m[,1])
Run Code Online (Sandbox Code Playgroud)

输出:

     [,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
Run Code Online (Sandbox Code Playgroud)

但是,我不想要那个输出.我想要:

[1] TRUE FALSE TRUE FALSE TRUE
Run Code Online (Sandbox Code Playgroud)

因为行[1,1]的值在m的第1列中出现3次.

42-*_*42- 16

当我看到这个问题时,我问自己"吉姆霍尔特曼或比尔邓拉普会对瑞尔普提出什么建议?".没有查看档案,但我认为他们可能建议使用两个"并行"应用程序duplicated,一个使用默认值,一个使用fromLast参数并与向量OR运算符连接.

duplicated(m[,1]) | duplicated(m[,1], fromLast=TRUE)
[1]  TRUE FALSE  TRUE FALSE  TRUE
Run Code Online (Sandbox Code Playgroud)

  • 这应该是`duplicated()`的参数,以免我们最终得到这样一个错综复杂的命令. (3认同)