如何在 R 中檢查矩陣是否為二進位制形式?
二進位制矩陣包含二進位制形式的值,例如 0/1、1/2、是/否等。如果我們有一個具有一定值且我們期望整個矩陣中只有兩個值的矩陣,那麼我們可以檢查矩陣中是否存在這兩個值。例如,如果我們有一個名為 M 的矩陣,則可以使用命令 all(M %in% 0:1) 檢查矩陣中是否僅包含 0/1。
Example1
> M1<-matrix(sample(0:1,80,replace=TRUE),ncol=4) > M1
輸出
[,1] [,2] [,3] [,4] [1,] 0 0 0 1 [2,] 0 0 1 1 [3,] 0 0 0 1 [4,] 0 0 0 0 [5,] 0 1 0 1 [6,] 0 1 0 1 [7,] 0 1 1 1 [8,] 1 0 1 0 [9,] 0 1 0 0 [10,] 0 1 1 0 [11,] 0 0 1 0 [12,] 1 1 1 1 [13,] 1 1 1 0 [14,] 1 1 1 1 [15,] 1 1 1 1 [16,] 0 0 0 0 [17,] 0 0 1 0 [18,] 1 1 1 1 [19,] 0 0 0 0 [20,] 0 1 0 1
檢查 M1 是否僅包含 0/1 −
> all(M1 %in% 0:1)
輸出
[1] TRUE
Example2
> M2<-matrix(sample(1:2,40,replace=TRUE),ncol=2) > M2
輸出
[,1] [,2] [1,] 2 2 [2,] 1 2 [3,] 2 2 [4,] 2 1 [5,] 2 2 [6,] 2 1 [7,] 2 2 [8,] 1 1 [9,] 2 2 [10,] 2 2 [11,] 1 2 [12,] 2 2 [13,] 1 2 [14,] 2 1 [15,] 2 1 [16,] 2 2 [17,] 2 2 [18,] 1 2 [19,] 1 2 [20,] 2 1
檢查 M2 是否僅包含 1/2 −
> all(M2 %in% 1:2)
輸出
[1] TRUE
Example3
> M3<-matrix(sample(c("Yes","No"),40,replace=TRUE),ncol=2) > M3
輸出
[,1] [,2] [1,] "Yes" "No" [2,] "No" "Yes" [3,] "Yes" "No" [4,] "Yes" "Yes" [5,] "No" "No" [6,] "Yes" "Yes" [7,] "Yes" "Yes" [8,] "Yes" "No" [9,] "No" "Yes" [10,] "No" "Yes" [11,] "No" "Yes" [12,] "Yes" "No" [13,] "Yes" "No" [14,] "No" "Yes" [15,] "Yes" "No" [16,] "No" "No" [17,] "No" "Yes" [18,] "No" "No" [19,] "No" "No" [20,] "Yes" "Yes"
檢查 M3 是否僅包含 True/False −
> all(M3 %in% c("True","False"))
輸出
[1] FALSE
廣告