[英]R: calculate proportion of a factor combined with group by in a data.frame
我想使用 group by 在數據幀上使用summarise
進行多次計算。 輸入數據:
dat <- data.frame (ID = c(1:10),
var1 = as.factor(c("A","B","A","A","B","B","B","C","A","B")),
Var2 = as.factor(c("low","medium","low","low","medium","high","high","high","high","high")))
現在我想對 var1 進行分組,計算 ID 並計算 var2 = high 的比例。 我的輸出應該是這樣的:
var1 total prop_high
1 A 4 0.25
2 B 5 0.60
3 C 1 1.00
到目前為止,我得到了以下代碼,但我陷入了比例計算
dat2 <- dat %>%
group_by(var1) %>%
summarise(total = n(),
prop_high = )
你可以把mean
邏輯值的獲取比例。
library(dplyr)
dat %>%
group_by(var1) %>%
summarise(total = n(),
prop_high = mean(Var2 == 'high'))
#Same as
#prop_high = sum(Var2 == 'high')/n())
# var1 total prop_high
# <fct> <int> <dbl>
#1 A 4 0.25
#2 B 5 0.6
#3 C 1 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.