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

R语言按患者入院日期生成分组排名:每唯一ID下从1开始连续排序

实现方案

首先需要将date_of_entry字段转换为标准日期格式,避免字符串排序出现逻辑错误,再按unique_id分组,为排序后的日期生成序号即可,以下是两种可直接运行的实现:

方法1:tidyverse(dplyr)方案

library(dplyr)

df_result <- df %>%
  mutate(date_of_entry = as.Date(date_of_entry, format = "%m-%d-%Y")) %>%
  group_by(unique_id) %>%
  mutate(day_at_facility = row_number(date_of_entry)) %>%
  ungroup()

如果原数据已经默认按同ID的入院日期升序排列,可以简化为mutate(day_at_facility = 1:n()),运行效率更高。

方法2:Base R方案(无需加载第三方包)

df$date_of_entry <- as.Date(df$date_of_entry, format = "%m-%d-%Y")
df$day_at_facility <- ave(as.numeric(df$date_of_entry), df$unique_id, FUN = rank)

两种方案输出结果均匹配你给出的目标数据格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:54:03