我想计算纵向调查数据的"自基线以来的天数",该数据以长数据格式组织,但我在按参与者ID分组时遇到困难.我的数据看起来像这样:
Participant Date
1 2023-04-19
1 2023-05-01
1 2023-05-16
2 2023-11-04
2 2023-11-14
3 2024-01-02
3 2024-01-15
3 2024-02-01
我想计算每位参与者的"自基线以来的天数".类似于这样:
Participant Date Days since BL
1 2023-04-19 0
1 2023-05-01 12
1 2023-05-16 27
2 2023-11-04 0
2 2023-11-14 10
3 2024-01-02 0
3 2024-01-15 14
3 2024-02-01 31
我try 使用的代码看起来像这样
df <- df %>%
group_by(Participant) %>%
mutate(Date = as.Date(Date, format='%y/%m/%d')) %>%
mutate(DIFF=Date - lag(Date))
然而,计算出的值不正确,并且似乎没有以参与者特定的方式进行分组.我希望能够将每个参与者的第一个日期设置为他们的基线(即0),然后,对于以下日期,根据每个参与者自己的基线日期计算距基线的天数.