【发布时间】:2011-09-22 05:40:22
【问题描述】:
如何从矩阵或数据框中删除行中所有元素为 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 的问题在于它会删除带有 any 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
但这似乎很复杂(有没有我遗漏的更简单的东西?)....
谢谢。
【问题讨论】:
标签: r