r - R:如何根据日期将一个时间段分成多行
问题描述
我正在尝试根据日期拆分时间段。数据集中的每一行应该被分成n个周期
- 开始日期至年末(12 月 31 日)
- 年初至开始日期
- 新年的开始日期到年末等等......直到它到达结束日期
此外,行应重复 n 次(特别是 ID)
拆分前的数据集:
df <- tribble(
~ID, ~Start, ~End
, 01, "2016-05-14", "2018-09-14"
, 02, "2013-07-21", "2014-05-19"
)
ID | 开始 | 结尾 |
---|---|---|
01 | “2016-05-14” | “2018-09-14” |
02 | “2013-07-21” | “2014-05-19” |
拆分后的数据集(第一行):
df_out <- tribble(
~ID, ~Period_Start ~Period_End, ~Days,
, 01, "2016-05-14", "2016-12-31", 231,
, 01, "2016-12-31", "2017-05-14", 164,
, 01, "2017-05-14", "2017-12-31", 231,
, 01, "2017-12-31", "2018-05-14", 133,
, 01, "2018-05-14", "2018-09-14", 123,
)
ID | Period_Start | Period_End | 天 |
---|---|---|---|
01 | 2016-05-14 | 2016-12-31 | 231 |
01 | 2016-12-31 | 2017-05-14 | 164 |
01 | 2017-05-14 | 2017-12-31 | 231 |
01 | 2017-12-31 | 2018-05-14 | 133 |
01 | 2018-05-14 | 2018-09-14 | 123 |
任何帮助将不胜感激!
解决方案
推荐阅读
- spring - Spring boot log4j2 属性配置
- python - 如何将用户的输入数据和我的数独生成器生成的数字捆绑在一起,并将它们传递给 Django?
- javascript - 将 JSON 对象转换为非 JSON 格式的对象
- javascript - 如何在按钮单击时更改图像预览
- bash - 对 bash 输出中找不到的字符串执行 PIPE
- javascript - Jquery在12秒后显示CSS li
- django - 如何从验证(is_valid)django中删除特定的表单字段
- symmetricds - SymmetricDS:将客户端节点相互同步
- dart - 需要一些不使用 FusedLocationProvider 的位置插件
- scala - java.lang.UnsatisfiedLinkError 执行 Scala 可运行 jar 时