删除第一行中具有NA的列

时间:2016-01-03 18:26:11

标签: r

如果我有这样的数据框

a <- c(NA,1,2,NA,4)
b <- c(6,7,8,9,10)
c <- c(NA,12,13,14,15)
d <- c(16,NA,18,NA,20)
df <- data.frame(a,b,c,d)

如何通过要求R删除第一行中包含NA的列来删除“a”和“c”列?

我的实际数据集要大得多,这只是一个可重复的例子。

请注意,这与要求删除其中包含任何NA的列不同。我的列可能包含其他NA值。我想删除第一行中带NA的那些。

1 个答案:

答案 0 :(得分:6)

您可以使用布尔值向量,表示在这种情况下缺少第一行。

res <- df[,!is.na(df[1,])]

> res
   b  d
1  6 16
2  7 NA
3  8 18
4  9 NA
5 10 20