我的例子DF:在数据帧,其中包括NA
a1 a2 a3 a4
1 1 1 4 6
2 1 2 3 2
3 2 NA 5 NA
4 2 5 6 3
5 3 1 1 2
6 3 3 2 6
“如果a4 == 6
然后删除该行。” 所以,我想在这个例子中删除(只!)第1行和第6行。
我知道这个工程:
df_1 <- df[-c(1, 6), ]
但是我正在寻找一个更通用的解决方案。
我试过的最明显的方式:
attach(df)
df_1 <- df[ which(a4 != 6),]
detach(df)
然而,这将删除所有NA
以及和我想留住他们。
a1 a2 a3 a4
2 1 2 3 2
4 2 5 6 3
5 3 1 1 2
然后我尝试:
df_1 <-df[!(df$a4 == 6),]
但随后第3行舞蹈打入冷宫,整个行都获得NA
a1 a2 a3 a4
2 1 2 3 2
NA NA NA NA NA
4 2 5 6 3
5 3 1 1 2
任何想法? 提前谢谢!
可能重复[我如何用R数据框中的零替换NA值?](http://stackoverflow.com/questions/8161836/how-do-i-replace-na-values-with -zeros-in-an-r-dataframe) – amonk
@agerom链接不是一个骗局,OP不是试图用任何东西替换NAs – Cath