如何在R矩陣中查詢所有行值都相等的列數?


為了找到R矩陣中所有行值都相等的列數,我們可以按照以下步驟操作:

  • 首先,建立一個矩陣。

  • 然後,使用sum函式結合length和apply函式來查詢所有行值都相等的列數。

示例1

建立矩陣

讓我們建立一個如下所示的矩陣:

M1<-matrix(rpois(50,5),ncol=2)
M1

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出會在您的系統上有所不同):

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

查詢所有行值都相等的列數

使用sum函式結合length和apply函式來查詢矩陣M1中所有行值都相等的列數:

M1<-matrix(rpois(50,5),ncol=2)
sum(apply(M1, 1, function(x) length(unique(x))==1))

輸出

[1] 7

示例2

建立矩陣

讓我們建立一個如下所示的矩陣:

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

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出會在您的系統上有所不同):

    [,1] [,2]
[1,]  3   4
[2,]  4   1
[3,]  4   3
[4,]  1   2
[5,]  2   1
[6,]  1   4
[7,]  1   3
[8,]  3   4
[9,]  3   1
[10,] 2   5
[11,] 2   2
[12,] 1   1
[13,] 3   1
[14,] 1   5
[15,] 3   3
[16,] 3   4
[17,] 3   4
[18,] 4   4
[19,] 2   5
[20,] 4   4
[21,] 2   5
[22,] 5   2
[23,] 4   4
[24,] 4   5
[25,] 2   3

查詢所有行值都相等的列數

使用sum函式結合length和apply函式來查詢矩陣M2中所有行值都相等的列數:

M2<-matrix(sample(1:5,50,replace=TRUE),ncol=2)
sum(apply(M2, 1, function(x) length(unique(x))==1))

輸出

[1] 6

更新於:2021年11月10日

280 次檢視

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告