簡體   English   中英

如何計算R中的觀察數量,如Stata命令計數

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

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命令:

count if sex==1 & group1==2
count if sex==1 & group2=="A"

count計算滿足指定條件的觀察數。 如果未指定條件,count將顯示數據中的觀察數。

怎么算R? 謝謝。

with函數將允許您使用速記列引用, sum將從表達式計算TRUE結果。

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

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

正如@ mnel指出的那樣,你也可以這樣做:

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

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

這樣做的好處是你可以做到:

nrow(aaa)
## [1] 6

並且,該行為幾乎完全匹配Stata的count (盡管語法)。

您還可以使用dplyr包中的過濾器函數,該函數返回具有匹配條件的行。

> library(dplyr)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM