You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R语言统计各区域医生数量:分组计数代码报错求助

解决方法

你的问题在于Region列的每个单元格包含多个以空格分隔的区域,直接按原Region分组统计,得到的是区域组合的医生数,而非单个区域的统计结果。正确的处理步骤如下:

  1. 先加载所需工具包(tidyverse整合了dplyr和tidyr,能高效处理这类数据操作):
library(tidyverse)
  1. 拆分Region列,把每个区域拆分为单独的行:
doctors_split <- doctors %>%
  separate_rows(Region, sep = " ")

这一步会将类似"4 15"的单元格拆成两行,每行对应一个独立区域,同时保留对应的DoctorID信息。

  1. 统计每个区域的医生数量:
  • 如果你需要统计每个区域的唯一医生数(即一个医生跨多个区域时,每个区域仅计一次),用下面的代码:
doctors_region <- doctors_split %>%
  group_by(Region) %>%
  summarise(doctor_count = n_distinct(DoctorID))
  • 如果你需要统计每个区域的出现频次(包含同一医生在多个区域的重复计数),将n_distinct(DoctorID)替换为n()即可。
  1. 查看最终统计结果:
doctors_region

举个实际例子,用你给出的两行样本数据:
原数据:
| DoctorID | Region |
| AHDCBA | 4 15 |
| ABHAHF | 1 8 T4 |

拆分后会变成:
| DoctorID | Region |
| AHDCBA | 4 |
| AHDCBA | 15 |
| ABHAHF | 1 |
| ABHAHF | 8 |
| ABHAHF | T4 |

最终统计结果为:

Regiondoctor_count
41
151
11
81
T41

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 14:15:37