如何在 R 中的矩阵列中识别重复值?


我们可以轻松使用 duplicated 函数来识别矩阵中的重复值,但该函数不会指定第一次出现的重复值。因此,我们需要用 OR 符号 | 以及参数 fromLast = TRUE 的 duplicated 函数,以便将重复值的第一次出现也识别为重复值。

示例

 实时演示

M1<-matrix(rpois(40,2),ncol=2)
M1

输出

   [,1] [,2]
[1,]  3 1
[2,]  4 6
[3,]  1 0
[4,]  3 4
[5,]  3 3
[6,]  2 3
[7,]  6 4
[8,]  4 4
[9,]  3 4
[10,] 3 3
[11,] 0 4
[12,] 2 3
[13,] 3 2
[14,] 4 2
[15,] 1 4
[16,] 2 1
[17,] 2 5
[18,] 3 3
[19,] 1 6
[20,] 2 1

示例

duplicated(M1[,1])|duplicated(M1[,1],fromLast=TRUE)

输出

[1] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE
[13] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

示例

 实时演示

M2<-matrix(rpois(80,5),ncol=4)
M2

输出

   [,1]   [,2] [,3] [,4]
[1,]  9    7    12   5
[2,]  7    9    3    6
[3,]  4    4    3    6
[4,]  8    0    3    4
[5,]  3    9    4    2
[6,]  6    11   4    9
[7,]  4    2    6    6
[8,]  6    1    6    6
[9,]  4    3    5    8
[10,] 6    7    5    6
[11,] 9    3    6    3
[12,] 3    7    6    3
[13,] 6    7    4    6
[14,] 9    7    4    6
[15,] 6    7    4    4
[16,] 6    10   3    4
[17,] 2    3    3    8
[18,] 4    3    13   5
[19,] 4    7    4    3
[20,] 8    1    5    5

示例

duplicated(M2[,2])|duplicated(M2[,2],fromLast=TRUE)

输出

[1] TRUE TRUE FALSE FALSE TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
[13] TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE

示例

duplicated(M2[,3])|duplicated(M2[,3],fromLast=TRUE)

输出

[1] FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[13] TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE

更新于: 07-Dec-2020

378 次浏览

开启您的 职业

完成课程获得认证

开始
广告