如何在 R 中检查矩阵是否存在缺失值?
要检查 R 中的矩阵是否存在任何缺失值,我们可以使用任何函数以及 is.na 函数。
例如,如果我们有一个名为 M 的矩阵,则可以使用以下命令检查 M 是否包含任何缺失值:
any(is.na(M))
示例 1
以下代码片段创建了一个示例矩阵:
M1<-matrix(sample(c(NA,1:10),80,replace=TRUE),ncol=4) M1
创建了以下矩阵:
[,1] [,2] [,3] [,4] [1,] 7 4 3 NA [2,] 6 3 6 9 [3,] 7 6 6 5 [4,] 8 5 NA 1 [5,] NA 1 4 4 [6,] 2 NA 8 6 [7,] 10 2 7 3 [8,] 1 6 6 8 [9,] 6 NA 1 4 [10,] 3 8 3 4 [11,] 10 5 3 NA [12,] 5 8 NA 5 [13,] NA 9 NA 7 [14,] 2 3 10 3 [15,] 9 9 9 8 [16,] 1 5 NA 8 [17,] NA 4 5 8 [18,] 2 7 2 1 [19,] 7 5 10 6 [20,] 10 8 4 5
要检查上面创建的矩阵 M1 是否有任何 NA,请将以下代码添加到上述代码片段中:
M1<-matrix(sample(c(NA,1:10),80,replace=TRUE),ncol=4) any(is.na(M1))
输出
如果您将以上所有代码片段作为单个程序执行,它将生成以下输出:
[1] TRUE
示例 2
以下代码片段创建了一个示例矩阵:
M2<-matrix(rpois(80,10),ncol=4) M2
创建了以下矩阵:
[,1] [,2] [,3] [,4] [1,] 16 8 9 14 [2,] 8 6 7 12 [3,] 7 12 11 7 [4,] 15 10 8 11 [5,] 9 6 9 12 [6,] 10 6 11 12 [7,] 10 10 6 16 [8,] 10 3 9 12 [9,] 12 5 12 15 [10,] 10 8 10 3 [11,] 11 7 8 11 [12,] 10 15 12 7 [13,] 13 9 15 6 [14,] 14 10 6 5 [15,] 6 16 8 10 [16,] 10 13 19 8 [17,] 21 5 8 9 [18,] 11 6 5 10 [19,] 14 11 4 11 [20,] 10 5 8 10
要检查上面创建的矩阵 M2 是否有任何 NA,请将以下代码添加到上述代码片段中:
M2<-matrix(rpois(80,10),ncol=4) any(is.na(M2))
输出
如果您将以上所有代码片段作为单个程序执行,它将生成以下输出:
[1] FALSE
示例 3
以下代码片段创建了一个示例矩阵:
M3<-matrix(sample(c(NA,round(rnorm(10),2)),80,replace=TRUE),ncol=4) M3
创建了以下矩阵:
[,1] [,2] [,3] [,4] [1,] 0.65 -1.24 2.39 1.42 [2,] -0.26 1.42 0.65 0.04 [3,] -0.69 0.65 0.04 NA [4,] -0.26 1.42 -1.14 NA [5,] -1.24 0.65 -0.69 NA [6,] 1.42 0.04 0.65 0.65 [7,] -0.69 -0.69 0.04 2.39 [8,] NA -1.14 0.65 1.42 [9,] NA -0.01 2.39 NA [10,] 1.42 2.39 -0.26 NA [11,] 0.65 2.39 NA -0.01 [12,] -1.14 -1.24 -1.24 -0.69 [13,] 1.42 0.65 -0.69 0.04 [14,] 0.04 -0.69 1.42 1.42 [15,] 2.39 -0.26 -0.01 -0.69 [16,] -0.01 2.39 -0.69 -0.26 [17,] 0.04 -0.69 -0.26 NA [18,] -0.26 -0.34 -1.14 2.39 [19,] 2.39 2.39 2.39 -0.69 [20,] 0.04 -0.34 0.65 -0.69
要检查上面创建的矩阵 M3 是否有任何 NA,请将以下代码添加到上述代码片段中:
M3<-matrix(sample(c(NA,round(rnorm(10),2)),80,replace=TRUE),ncol=4) any(is.na(M3))
输出
如果您将以上所有代码片段作为单个程序执行,它将生成以下输出:
[1] TRUE
广告