提问人:Mark 提问时间:9/20/2022 最后编辑:Mark 更新时间:9/20/2022 访问量:25
按指标变量计算日期差异
Calculate difference in date by indicator variable
问:
假设我有以下示例数据帧,每个 id 观测值包含 1 组 1 个观测值(参考值):
id date group
1 15-01-2022 1
1 15-01-2022 2
1 16-01-2022 2
1 20-01-2022 2
2 18-01-2022 1
2 20-01-2022 2
2 27-01-2022 2
我想计算一列,用于计算第 1 组与第 2 组中 id 的每个日期之间的差值:
id date group diff
1 15-01-2022 1 NA
1 15-01-2022 2 0
1 16-01-2022 2 1
1 20-01-2022 2 5
2 18-01-2022 1 NA
2 20-01-2022 2 2
2 27-01-2022 2 9
答:
0赞
Gregor Thomas
9/20/2022
#1
library(dplyr)
df %>%
group_by(id) %>%
mutate(diff = date - date[group == 1]) %>%
ungroup()
这假设你已经是班级了。它将为第一个值放置一个而不是一个。如果你需要,那么你可以改用:date
Date
0
NA
NA
df %>%
group_by(id) %>%
mutate(diff = ifelse(group == 1, NA, date - date[group == 1])) %>%
ungroup()
评论
group = 1
id