删除具有超过缺失值缺失值阈值的行

时间:2015-03-19 19:51:54

标签: r

我有一个带有一些缺失值的矩阵

A <- array(c(1, NA, 3, NA, 4, 5, 7, NA, 2 ), dim=c(3,3))

我可以使用

删除所有缺少值的行
B <- na.omit(A) or B <- A[!complete.cases(A),]

我可以使用

删除超过50%缺失值的列
B <- A[,colSums(is.na(A)) < nrow(A)/2]

现在我的问题是如何删除超过50%缺失值的行?我哭了

B <- A[,rowSums(is.na(A)) < ncol(A)/2]

不起作用。除了转换对于大型矩阵而言过于密集的矩阵,我还有哪些选择。

1 个答案:

答案 0 :(得分:2)

您需要指定[的行选择器参数:

A[rowSums(is.na(A)) < ncol(A)/2, ]

产地:

     [,1] [,2] [,3]
[1,]    1   NA    7
[2,]    3    5    2