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"))
Run Code Online (Sandbox Code Playgroud)
stata命令:
count if sex==1 & group1==2
count if sex==1 & group2=="A"
Run Code Online (Sandbox Code Playgroud)
count计算满足指定条件的观察数.如果未指定条件,count将显示数据中的观察数.
怎么算R?谢谢.
hrb*_*str 11
该with函数将允许您使用速记列引用,sum并将计算TRUE表达式的结果.
sum(with(aaa, sex==1 & group1==2))
## [1] 3
sum(with(aaa, sex==1 & group2=="A"))
## [1] 2
Run Code Online (Sandbox Code Playgroud)
正如@ mnel指出的那样,你也可以这样做:
nrow(aaa[aaa$sex==1 & aaa$group1==2,])
## [1] 3
nrow(aaa[aaa$sex==1 & aaa$group2=="A",])
## [1] 2
Run Code Online (Sandbox Code Playgroud)
这样做的好处是你可以做到:
nrow(aaa)
## [1] 6
Run Code Online (Sandbox Code Playgroud)
并且,该行为count几乎完全匹配Stata (尽管语法).