R dplyr 计算组和列百分比

测试数据是这样的:

# A tibble: 4 x 4
  group no_resp   all resp_rate
  <chr>   <dbl> <int>     <dbl>
1 A           2     3        67
2 B           2     3        67
3 C           1     2        50
4 D           3     4        75

这很好,但我想知道如何使这更简单?另外,我将如何计算整体百分比?例如,不分组的 resp/distinct 计数的整体不同计数。

library(dplyr)

test %>%
  group_by(group) %>%
  summarise(no_resp = sum(resp, na.rm = TRUE), 
            all = n_distinct(id), 
            resp_rate = round(no_resp/all*100)) %>%
  mutate(no_resp_perc = no_resp/sum(no_resp) * 100)

#  group no_resp   all resp_rate no_resp_perc
#  <chr>   <int> <int>     <dbl>        <dbl>
#1 A           2     3        67         25  
#2 B           2     3        67         25  
#3 C           1     2        50         12.5
#4 D           3     4        75         37.5
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mrrunsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值