代码之家  ›  专栏  ›  技术社区  ›  Dr. Fabian Habersack

计算二进制变量的特定值并仅返回计数,最好使用dplyr

  •  0
  • Dr. Fabian Habersack  · 技术社区  · 6 年前

    dplyr 但我很乐意接受其他的解决方案。它应该尽可能简短和直接。

    举个例子:

    dat<-data.frame(x=c(1,1,0,0,NA,NA))
    

    dat %>% group_by(x) %>% summarise(sum(!is.na(x)))
    

    thread .

    问题是它返回一个tible,显示每个值的计数 x

    # A tibble: 3 x 2
          x `sum(!is.na(x))`
      <dbl>            <int>
    1    0.                2
    2    1.                2
    3   NA                 0
    

    我只需要一个数字来表示 x==1 . 添加此条件( x==1 dplyr公司

    x==1 x==2 就这样。所以在这种情况下,完美的R输出如下所示:

    [1] 2
    

    我也试过这样的方法。。。

    !is.na(dat[,c("x")]==1)
    

    TRUE 如果 FALSE S

    1 回复  |  直到 6 年前
        1
  •  2
  •   pooja p    6 年前

    你可以试着用“nrow”

    dat %>% filter(x == 1) %>% nrow()
    
    推荐文章