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

如何在R语言中按Product分组统计唯一Patient_ID的数量?

统计每个产品的唯一患者数量(R实现)

可复现数据集

test_data <- data.frame(Product=c("A","A","A","A","D","D","D","E","E","F","G"),
                        Patient_ID=c("1","1","1","3","3","4","5","5","6","7","8"))

方法1:基础R实现

通过aggregate函数分组计算唯一患者数:

result_base <- aggregate(Patient_ID ~ Product, data = test_data, 
                         FUN = function(x) length(unique(x)))
colnames(result_base)[2] <- "Freq"
# 输出结果
result_base

方法2:dplyr包实现(tidyverse风格)

先加载dplyr,通过去重后计数的方式实现:

library(dplyr)

result_dplyr <- test_data %>%
  distinct(Product, Patient_ID) %>%  # 保留唯一的产品-患者组合
  count(Product, name = "Freq")     # 按产品统计数量

# 输出结果
result_dplyr

最终输出结果

两种方法均会得到如下数据集:

Product Freq
1       A    2
2       D    3
3       E    2
4       F    1
5       G    1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 04:20:29