【发布时间】:2017-09-02 15:51:59
【问题描述】:
这是我的数据集的简化版本:
> df
ID total_sleep sleep_end_date
1 1 9 2017-09-03
2 1 8 2017-09-04
3 1 7 2017-09-05
4 1 10 2017-09-06
5 1 11 2017-09-07
6 2 5 2017-09-03
7 2 12 2017-09-04
8 2 4 2017-09-05
9 2 3 2017-09-06
10 2 6 2017-09-07
total_sleep 以小时为单位。
在给定特定用户 ID 的情况下,我想要找到的是每两个连续日期的睡眠时间的绝对差异。所需的输出应如下所示:
> df_answer
ID total_sleep sleep_end_date diff_hours_of_sleep
1 1 9 2017-09-03 NA
2 1 8 2017-09-04 1
3 1 7 2017-09-05 1
4 1 10 2017-09-06 3
5 1 11 2017-09-07 1
6 2 5 2017-09-03 NA
7 2 12 2017-09-04 7
8 2 4 2017-09-05 8
9 2 3 2017-09-06 1
10 2 6 2017-09-08 NA
NA 出现在第 1 行和第 6 行中,因为它没有关于前一天的任何数据。
最重要的是,NA 出现在第 10 行,因为我没有关于前一天 (2017-09-07) 的任何数据。这对我来说是最棘手的部分。
我已经用谷歌搜索了(意思是:“stackoverflowed”),并尝试使用 dplyr 的“数据整理备忘单”找到解决方案,但我一直无法找到一个功能让我能够做我想做的事需要考虑这两个变量:日期和不同的用户 ID。
我是 R 的初学者,所以我确实可能遗漏了一些简单的东西。非常欢迎任何意见或建议!
【问题讨论】:
-
已编辑问题!
标签: r