如果我有这样的数据框
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的那些。
答案 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