如何在R中找到矩阵的逐行模式?

没有内置函数可以在R中找到模式,因此我们需要创建一个模式,然后将其应用于矩阵的行。模式的功能如下创建-

mode<-function(x){which.max(tabulate(x))}

现在考虑我们有一个名为M的矩阵,那么我们可以应用上面的函数,如下所示-

apply(M2,1,mode)

例1

> M1<-matrix(sample(1:2,25,replace=TRUE),ncol=5)

> M1

输出结果
     [,1] [,2] [,3] [,4] [,5]

[1,]  2    2    1    2   2

[2,]  2    2    2    2   1

[3,]  2    2    1    1   1

[4,]  2    1    1    1   1

[5,]  2    1    1    2   2

> apply(M1,1,mode)
输出结果
[1] 2 2 1 1 2

例2

> M2<-matrix(sample(1:2,100,replace=TRUE),ncol=5)

> M2

输出结果
     [,1] [,2] [,3] [,4] [,5]

[1,]  1    1    2    2    1

[2,]  2    1    1    2    1

[3,]  2    2    1    1    1

[4,]  2    1    1    2    2

[5,]  2    1    1    2    2

[6,]  1    2    1    1    2

[7,]  1    1    2    1    2

[8,]  2    2    1    2    1

[9,]  2    1    1    2    2

[10,] 1    1    2    2    2

[11,] 1    1    2    1    2

[12,] 1    2    2    2    1

[13,] 2    2    2    2    1

[14,] 2    1    2    2    1

[15,] 1    2    1    1    2

[16,] 2    2    1    2    1

[17,] 2    2    1    1    1

[18,] 2    1    1    2    1

[19,] 1    1    1    2    1

[20,] 2    1    1    2    2

> apply(M2,1,mode)
输出结果
[1] 1 1 1 2 2 1 1 2 2 2 1 2 2 2 1 2 1 1 1 2

范例3

> M3<-matrix(sample(1:3,100,replace=TRUE),ncol=5)

> M3

输出结果
     [,1] [,2] [,3] [,4] [,5]

[1,]  1    3    3    2    1

[2,]  2    3    1    2    2

[3,]  2    2    3    3    1

[4,]  1    3    1    3    2

[5,]  3    1    2    1    2

[6,]  2    3    1    1    1

[7,]  2    2    2    3    1

[8,]  1    2    2    2    2

[9,]  2    1    2    1    2

[10,] 1    3    1    2    1

[11,] 2    1    3    1    1

[12,] 1    1    3    2    2

[13,] 2    1    1    1    2

[14,] 2    1    3    3    2

[15,] 1    2    3    1    2

[16,] 1    2    1    2    1

[17,] 3    1    1    3    2

[18,] 3    3    3    3    1

[19,] 3    2    3    1    1

[20,] 3    3    2    2    1

> apply(M3,1,mode)
输出结果
[1] 1 2 2 1 1 1 2 2 2 1 1 1 1 2 1 1 1 3 1 2

例子4

> M4<-matrix(sample(9:10,100,replace=TRUE),ncol=5)

> M4

输出结果
      [,1] [,2] [,3] [,4] [,5]

[1,]  10    10   9    10   9

[2,]  9     9    10   9    9

[3,]  9     9    9    10   10

[4,]  10    9    9    10   10

[5,]  10    10   9    10   9

[6,]  10    10   9    10   10

[7,]  9     9    9    10   9

[8,]  9     10   9    10   9

[9,]  9     9    9    9    9

[10,] 9     10   9    10   9

[11,] 10    10   9    9    9

[12,] 9     9    9    9    9

[13,] 10    10   10   9    10

[14,] 10    9    10   10   10

[15,] 9     10   9    10   9

[16,] 9     10   9    10   9

[17,] 9     10   10   9    10

[18,] 9     9    9    9    10

[19,] 10    9    9    10   9

[20,] 10    9    9    10   9

> apply(M4,1,mode)
输出结果
[1] 10 9 9 10 10 10 9 9 9 9 9 9 10 10 9 9 10 9 9 9

以上是 如何在R中找到矩阵的逐行模式? 的全部内容, 来源链接: utcz.com/z/340073.html

回到顶部