查找两个值均为0的行数

时间:2018-02-26 08:29:12

标签: r dataframe

我想弄清楚col1 != 0 || col2 != 0

的行数

样品:

> head(df2$col1)
[1] 3 0 2 1 0 5
> head(df2$col2)
[1] 0 0 0 0 0 0

我尝试了什么:

>dim(df2)
[1] 38272    69
> jj = df2[df2$col1 != 0 || df2$col2 != 0]
> dim(jj)
[1] 38272    69

即使您可以从head()清楚地看到有col1col2为0的示例

,也不确定维度为何相同

2 个答案:

答案 0 :(得分:1)

df2$col1 != 0 || df2$col2 != 0匹配所有内容,因为它显示为 col1不为0或col2不为0 。如果您想找到 col1为0且col2为0 ,请使用以下内容。

df2 <- data.frame(col1 = c(3, 0, 2, 1, 0, 5),
                  col2 = c(0, 0, 0, 0, 0, 0))

df2[df2$col1 == 0 & df2$col2 == 0, ]
  col1 col2
2    0    0
5    0    0

nrow(df2[df2$col1 == 0 & df2$col2 == 0, ])
# [1] 2

答案 1 :(得分:0)

我强烈建议您学习dplyr软件包文档:

library(dplyr)

new_dff <- df2 %>%
         filter(col1==0, col2==0)