如何通过指定包含 NA 的列来对 R 中的矩阵进行子集化?

要通过指定包含 NA 的列来对 R 中的矩阵进行子集化,我们可以按照以下步骤操作 -

  • 首先,创建一个包含一些 NA 的矩阵。

  • 然后,is.na与子集函数一起使用通过指定包含 NA 的列来对矩阵进行子集化。

示例

创建矩阵

让我们创建一个矩阵,如下所示 -

M<-matrix(sample(c(NA,round(rnorm(3),2)),75,replace=TRUE),ncol=3)

M

输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

      [,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

以上是 如何通过指定包含 NA 的列来对 R 中的矩阵进行子集化? 的全部内容, 来源链接: utcz.com/z/317244.html

回到顶部