如何通过指定包含 NA 的列来提取 R 中的矩阵子集?
要通过指定包含 NA 的列来提取 R 中的矩阵子集,我们可以按照以下步骤进行 -
首先,创建一个包含一些 NA 的矩阵。
然后,使用 is.na 和子集函数通过指定包含 NA 的列来提取矩阵子集。
示例
创建矩阵
让我们创建一个如下所示的矩阵 -
M<-matrix(sample(c(NA,round(rnorm(3),2)),75,replace=TRUE),ncol=3) M
输出
执行后,上面的脚本将生成以下输出(由于随机化的原因,该输出在您的系统上会有所不同)-
[,1] [,2] [,3] [1,] NA -0.05 1.93 [2,] -1.31 -1.31 -0.05 [3,] -0.05 -0.05 NA [4,] NA 1.93 -1.31 [5,] -0.05 -0.05 -0.05 [6,] NA -1.31 NA [7,] -1.31 -0.05 1.93 [8,] 1.93 1.93 NA [9,] -1.31 -1.31 -1.31 [10,] NA 1.93 NA [11,] -0.05 -1.31 1.93 [12,] -1.31 -0.05 -0.05 [13,] NA 1.93 -1.31 [14,] NA NA -0.05 [15,] NA -0.05 NA [16,] -0.05 -1.31 -1.31 [17,] 1.93 -0.05 -0.05 [18,] -0.05 -0.05 NA [19,] -0.05 -0.05 1.93 [20,] -0.05 1.93 -1.31 [21,] -0.05 -1.31 -0.05 [22,] -1.31 -0.05 NA [23,] -0.05 1.93 1.93 [24,] NA -1.31 -1.31 [25,] -0.05 1.93 -1.31
通过指定含有 NA 的列来提取矩阵子集
使用 is.na 和子集函数通过指定包含 NA 的第 1 列和第 3 列来提取矩阵 M,如下所示 -
M<-matrix(sample(c(NA,round(rnorm(3),2)),75,replace=TRUE),ncol=3) subset(M,is.na(M[,1])|is.na(M[,3]))
输出
[,1] [,2] [,3] [1,] NA -0.05 1.93 [2,] -0.05 -0.05 NA [3,] NA 1.93 -1.31 [4,] NA -1.31 NA [5,] 1.93 1.93 NA [6,] NA 1.93 NA [7,] NA 1.93 -1.31 [8,] NA NA -0.05 [9,] NA -0.05 NA [10,] -0.05 -0.05 NA [11,] -1.31 -0.05 NA [12,] NA -1.31 -1.31
广告