How to count the number of observations in R like Stata command count

前端 未结 2 1866
旧时难觅i
旧时难觅i 2021-02-05 23:46
aaa<- data.frame(sex=c(1,1,2,2,1,1), group1=c(1,2,1,2,2,2),group2=c(\"A\",\"B\",\"A\",\"B\",\"A\",\"B\"))

stata command:

count if se         


        
2条回答
  •  攒了一身酷
    2021-02-06 00:28

    The with function will let you use shorthand column references and sum will count TRUE results from the expression(s).

    sum(with(aaa, sex==1 & group1==2))
    ## [1] 3
    
    sum(with(aaa, sex==1 & group2=="A"))
    ## [1] 2
    

    As @mnel pointed out, you can also do:

    nrow(aaa[aaa$sex==1 & aaa$group1==2,])
    ## [1] 3
    
    nrow(aaa[aaa$sex==1 & aaa$group2=="A",])
    ## [1] 2
    

    The benefit of that is that you can do:

    nrow(aaa)
    ## [1] 6
    

    And, the behaviour matches Stata's count almost exactly (syntax notwithstanding).

提交回复
热议问题