如果任何列包含 NA,则删除行
Remove row if any column contains NA
我有一个大数据框。如果 任何列 包含 NA
.
,我想删除观察结果
例如,
A B C
1 23 NA 2
2 NA 12 10
3 6 27 18
4 18 22 NA
剩下的唯一观察值应该是上述数据框中的第三个观察值。
如果 任何列 包含 NA
,我如何删除观察?
你是这个意思吗?
test <- data.frame(A = c(23, NA, 6, 18),
B = c(NA, 12, 27, 22),
C = c(2, 10, 18, NA))
na.omit(test)
A B C
3 6 27 18
我们可以使用complete.cases
subset(test, complete.cases(test))
有点冗长的方式...
#Your df
x=matrix(c(23 ,NA,2,NA,12,10,6,27,18,18,22,NA),4,3,byrow = T)
x1=as.data.frame(x)
#actual solution
x2=rep(0,nrow(x1))
for (i in 1:nrow(x1)) x2[i]=!any(is.na(x1[i,]))
x1=x1[which(x2!=0),]
我有一个大数据框。如果 任何列 包含 NA
.
例如,
A B C
1 23 NA 2
2 NA 12 10
3 6 27 18
4 18 22 NA
剩下的唯一观察值应该是上述数据框中的第三个观察值。
如果 任何列 包含 NA
,我如何删除观察?
你是这个意思吗?
test <- data.frame(A = c(23, NA, 6, 18),
B = c(NA, 12, 27, 22),
C = c(2, 10, 18, NA))
na.omit(test)
A B C
3 6 27 18
我们可以使用complete.cases
subset(test, complete.cases(test))
有点冗长的方式...
#Your df
x=matrix(c(23 ,NA,2,NA,12,10,6,27,18,18,22,NA),4,3,byrow = T)
x1=as.data.frame(x)
#actual solution
x2=rep(0,nrow(x1))
for (i in 1:nrow(x1)) x2[i]=!any(is.na(x1[i,]))
x1=x1[which(x2!=0),]