gpt4 book ai didi

删除 R 矩阵中所有数据均为 NA 的行

转载 作者:行者123 更新时间:2023-12-03 07:23:44 30 4
gpt4 key购买 nike

Possible Duplicate:
Removing empty rows of a data file in R

如何从矩阵或数据框中删除行中所有元素均为 NA 的行?

因此,要从中得到:

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] NA NA NA
[3,] 3 8 13
[4,] 4 NA NA
[5,] 5 10 NA

对此:

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 3 8 13
[3,] 4 NA NA
[4,] 5 10 NA

因为 na.omit 的问题是它会删除带有任何 NA 的行,因此会给我这个:

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 3 8 13

到目前为止我能做的最好的事情就是使用 apply() 函数:

> x[apply(x, 1, function(y) !all(is.na(y))),]
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 3 8 13
[3,] 4 NA NA
[4,] 5 10 NA

但这看起来很复杂(我缺少一些更简单的东西吗?)....

谢谢。

最佳答案

使用 rowSums() 的解决方案通常优于 apply() 的解决方案:

m <- structure(c( 1,  NA,  3,  4,  5, 
6, NA, 8, NA, 10,
11, NA, 13, NA, NA),
.Dim = c(5L, 3L))

m[rowSums(is.na(m)) != ncol(m), ]

[,1] [,2] [,3]
[1,] 1 6 11
[2,] 3 8 13
[3,] 4 NA NA
[4,] 5 10 NA

关于删除 R 矩阵中所有数据均为 NA 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6471689/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com