【发布时间】:2017-12-30 14:59:13
【问题描述】:
这是我的数据框:
df1
Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9 Col10
1 1 1 1 1 1 1 1 1 1
1 -1 1 1 1 1 1 1 1 1
1 NA 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
我正在尝试制作第二个数据框 df2,以过滤其中的行
df1$Col2<0==TRUE
所以 df2 看起来像这样
df2
Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9 Col10
1 -1 1 1 1 1 1 1 1 1
谢谢!
更新:Wen 的评论有效,但是我的数据框有额外的 40,000 行只是说 NA。知道我可以做些什么来摆脱这些行吗?
【问题讨论】:
-
df2=df1[df1$Col2<0,] -
好的,但由于某种原因,我得到了 40,000 行。知道我能做些什么来摆脱这些吗?
-
df2=df1[df1$Col2<0&!is.na(df1$Col2),] -
它需要与
df2=df1[!is.na(df1$Col2) & df1$Col2<0,]相反,即您要首先检查NA。 -
温的第二条评论似乎效果很好。为什么我需要先检查 NA?