重复测量数据中统计各诊断对应的唯一患者人数
诊断对应患者人数统计方法
针对你提供的数据集,要实现同一患者的同一诊断仅计1次的统计需求,以下是两种常用的R语言解决方案:
方法一:使用dplyr包(tidyverse生态)
# 先加载dplyr包(若未安装需先运行 install.packages("dplyr")) library(dplyr) # 处理流程:去重→分组→统计 result_df <- df %>% distinct(ID, diagnosis) %>% # 保留每个ID-诊断的唯一组合 group_by(diagnosis) %>% # 按诊断分组 summarise(patient_count = n()) %>% # 统计每组的患者数量 ungroup() # 输出结果 result_df
执行后得到的结果表格:
| diagnosis | patient_count |
|---|---|
| A | 2 |
| B | 3 |
| C | 2 |
方法二:基础R实现(无需额外包)
# 提取唯一的ID-诊断组合 unique_records <- unique(df[c("ID", "diagnosis")]) # 统计每个诊断对应的患者数并整理成数据框 result_df <- as.data.frame(table(unique_records$diagnosis)) colnames(result_df) <- c("diagnosis", "patient_count") # 输出结果 result_df
该方法最终得到的统计结果与方法一完全一致。
内容的提问来源于stack exchange,提问作者Bruh
相关产品推荐
相关产品推荐

