You need to enable JavaScript to run this app. 仅使用tidyverse按机构名称计算分类变量的使用及响应率平均值
优惠活动
大模型
产品
解决方案
定价
更多

仅使用tidyverse按机构名称计算分类变量的使用及响应率平均值

基于tidyverse的分组统计实现方案

计算逻辑说明

  • portal_use平均值:指分组内portal_use取值为Yes的样本占所有非NA有效样本的比例
  • 响应率:指分组内非NA的有效样本占分组总样本数的比例

完整实现代码

首先加载tidyverse库:

library(tidyverse)

导入你提供的数据集后执行统计:

# 分组统计
df %>%
  group_by(practice_name) %>%
  summarise(
    # 计算portal_use平均值
    portal_use_mean = mean(portal_use == "Yes", na.rm = TRUE),
    # 计算响应率
    response_rate = sum(!is.na(portal_use)) / n()
  )

运行输出结果

# A tibble: 3 × 3
  practice_name portal_use_mean response_rate
  <chr>                   <dbl>         <dbl>
1 al                      0.75          0.571
2 il                      0.667         0.75 
3 ol                      0.5           0.667

代码逻辑说明:

  1. 用group_by(practice_name)按机构名称字段完成分组
  2. portal_use == "Yes"返回逻辑值,TRUE对应1、FALSE对应0,搭配mean(..., na.rm = TRUE)自动排除NA值后计算均值,等价于Yes的占比
  3. sum(!is.na(portal_use))统计每个分组非NA的有效样本数,n()返回每个分组的总样本数,二者比值即为响应率

内容的提问来源于stack exchange,提问作者GaB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 04:45:04