如何在 R 中删除包含 NAs 的行?


若要删除包含 NA 值的 R 矩阵行,我们可以按照以下步骤操作:

  • 首先,创建一个矩阵。

  • 然后,使用 na.omit 函数删除包含 NA 值的行。

示例

创建矩阵

让我们创建一个如下所示的矩阵:

M<-matrix(sample(c(NA,rpois(10,5)),100,replace=TRUE),ncol=4)
M

输出

执行上述脚本后,将生成以下输出(此输出因系统中随机值而异):

    [,1] [,2] [,3] [,4]
[1,]  4   4    2    NA
[2,]  4   NA   NA   4
[3,]  4   4    4    6
[4,]  4   3    4    3
[5,]  4   4    4    4
[6,]  4   4    4    4
[7,]  4   4    4    6
[8,]  NA  4    4    4
[9,]  4   4    2    4
[10,] 2   4    4    4
[11,] 6   4    NA   3
[12,] NA  3    4    4
[13,] 2   6    3    4
[14,] 4   4    4    NA
[15,] NA  4    4    4
[16,] 2   4    3    4
[17,] 4   2    4    4
[18,] 4   4    4    4
[19,] 4   4    NA   4
[20,] 4   4    4    4
[21,] 4   6    2    2
[22,] 3   4    2    4
[23,] 4   4    4    6
[24,] 4   NA   4    NA
[25,] NA  4    4    4

删除包含 NA 值的行

使用 na.omit 函数删除矩阵 M 中包含 NA 值的行:

M<-matrix(sample(c(NA,rpois(10,5)),100,replace=TRUE),ncol=4)
M<-na.omit(M)
M

输出

    [,1] [,2] [,3] [,4]
[1,]  4   4    4    6
[2,]  4   3    4    3
[3,]  4   4    4    4
[4,]  4   4    4    4
[5,]  4   4    4    6
[6,]  4   4    2    4
[7,]  2   4    4    4
[8,]  2   6    3    4
[9,]  2   4    3    4
[10,] 4   2    4    4
[11,] 4   4    4    4
[12,] 4   4    4    4
[13,] 4   6    2    2
[14,] 3   4    2    4
[15,] 4   4    4    6
attr(,"na.action")
[1] 8 12 15 25 2 24 11 19 1 14
attr(,"class")
[1] "omit"

更新日期:2021 年 11 月 15 日

1K+ 次浏览

开启你的职业

通过完成课程获得认证

开始学习
广告