删除 R 中至少有一个 NA 的矩阵的行
Removing rows of a matrix with at least one NA in R
我正在尝试删除 R 中矩阵的行。我删除行的标准是该列包含 至少一个 NA
(请注意整行不需要像本网站上的其他问题那样 NA
。
例如,如果矩阵 A 如下所示
32 54 34
NA 10 NA
17 93 NA
只保留第一行。
这就是我正在尝试的方法,但我得到的是一列而不是一行。
newMatrix <- A[,rowSums(apply(A, 1, is.na))<1]
#A is a matrix
我错过了什么?我试过 !is.na
,但 R 不喜欢那样。
你试过了吗:matrix[complete.cases(matrix),]
尝试使用 na.omit
函数:
x <- matrix(c(32, 54, 34, NA, 10, NA, 17, 93, NA), nrow = 3, ncol = 3, byrow = TRUE)
na.omit(x)
输出:
[,1] [,2] [,3]
[1,] 32 54 34
attr(,"na.action")
[1] 2 3
attr(,"class")
[1] "omit"
我正在尝试删除 R 中矩阵的行。我删除行的标准是该列包含 至少一个 NA
(请注意整行不需要像本网站上的其他问题那样 NA
。
例如,如果矩阵 A 如下所示
32 54 34
NA 10 NA
17 93 NA
只保留第一行。
这就是我正在尝试的方法,但我得到的是一列而不是一行。
newMatrix <- A[,rowSums(apply(A, 1, is.na))<1]
#A is a matrix
我错过了什么?我试过 !is.na
,但 R 不喜欢那样。
你试过了吗:matrix[complete.cases(matrix),]
尝试使用 na.omit
函数:
x <- matrix(c(32, 54, 34, NA, 10, NA, 17, 93, NA), nrow = 3, ncol = 3, byrow = TRUE)
na.omit(x)
输出:
[,1] [,2] [,3]
[1,] 32 54 34
attr(,"na.action")
[1] 2 3
attr(,"class")
[1] "omit"