如何在 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

更新日期: 2021 年 3 月 6 日

205 次瀏覽

啟動你的職業生涯

獲得認證只需要完成課程

開始課程
廣告