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

求助:使用dplyr按ID和日期统计观测值(不按值去重)

解决按ID统计不同日期-收缩压组合数的问题

你的核心需求是统计每个ID下日期与收缩压的唯一组合数量——示例中对应3个组合(2021-11-25+128、2021-11-26+125、2021-11-27+128),但原代码仅统计了收缩压数值的唯一值,因此得到错误结果。

修正后的代码

直接在n_distinct()中同时传入DATE和SISTOLIC参数,即可计算两者的唯一组合数:

data <- data %>%
  group_by(ID) %>%
  mutate(
    n_sistolic = n_distinct(DATE, SISTOLIC),
    n_days_followup = n_distinct(DATE)
  )

处理后的结果

执行代码后,数据会完全符合你的期望格式:

IDDATESISTOLICn_sistolic
12021-11-251283
12021-11-261253
12021-11-271283
12021-11-271283
12021-11-271283
12021-11-271283

逻辑说明

n_distinct()支持传入多个变量,会自动计算这些变量组合后的唯一值数量,刚好匹配你需要的“不同日期对应的有效记录”统计逻辑——即使收缩压数值相同,只要日期不同,就会被算作不同的有效记录。

内容的提问来源于stack exchange,提问作者JOSE ANTONIO RUIZ TAGLE MATURA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 02:15:44