【发布时间】:2021-03-03 02:14:38
【问题描述】:
概述
假设:假设我是一个狂热的运动员。我有一个数据集,每次我去划船/滑雪/无论什么时候都会记录下来。我想计算自每个给定区域发生的最后一次假设事故以来经过的天数。
我的数据
这是我的一小部分可重复的数据:
mydata <- data.frame(state = c(rep("Vermont", 5), rep("New Hampshire", 5)),
date = c("2016-01-01", "2016-01-03", "2016-01-04", "2016-01-04", "2016-02-01",
"2016-01-03", "2016-01-15", "2016-01-16", "2016-02-01", "2016-02-03"),
accident = c(1, 0, 0, 1, 1,
0, 1, 1, 0, 1))
这就是它的样子。请注意,日期是“参差不齐的”——我有时会连续两天滑雪/划船,有时我会休息一周。另请注意,我在多个州进行这些体育活动,并且我想group_by 该州,从而在我第一次在该地区滑雪/划船时得到NA 值。
state date accident
Vermont 2016-01-01 1
Vermont 2016-01-02 0
Vermont 2016-01-03 0
Vermont 2016-01-04 1
Vermont 2016-02-01 1
New Hampshire 2016-01-03 0
New Hampshire 2016-01-15 1
New Hampshire 2016-01-16 1
New Hampshire 2016-02-01 0
New Hampshire 2016-02-03 1
我想制作这个:
state date accident numdays
Vermont 2016-01-01 1 NA
Vermont 2016-01-02 0 1
Vermont 2016-01-03 0 2
Vermont 2016-01-04 1 3
Vermont 2016-02-01 1 28
New Hampshire 2016-01-03 0 NA
New Hampshire 2016-01-15 1 NA
New Hampshire 2016-01-16 1 1
New Hampshire 2016-02-01 0 16
New Hampshire 2016-02-03 1 18
*已编辑以更正数据中的拼写错误
【问题讨论】: