簡體   English   中英

R:在data.frame中計算一個因子與group by組合的比例

[英]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.

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