【发布时间】:2021-04-28 08:32:18
【问题描述】:
考虑以下格式的数据集:
| StartDate | NbOfDays | EndDate |
|---|---|---|
| 2018-09-23 08:00:00 | 65 | NA |
| 2019-10-08 08:00:00 | 30 | 2019-11-08 08:00:00 |
当EndDate为缺失值时,如何根据NbOfDays变量计算?
预期输出
| StartDate | NbOfDays | EndDate |
|---|---|---|
| 2018-09-23 08:00:00 | 65 | 2018-11-28 08:00:00 |
| 2019-10-08 08:00:00 | 30 | 2019-11-08 08:00:00 |
【问题讨论】:
-
使用
lubridate。将两列都转换为适当的类型,然后使用df$StartDate + days(df$NbOfDays)获取结束日期 -
“海量”数据集能否更精确?数千行、数百万行、数百万行?
-
@MichaelChirico 超过 400 万行!
-
一些建议 (1) 您从 csv 获取数据,data.table::fread 可能能够直接为您提供开始/结束列的 POSIXct(对于 R 中的转换,使用fasttime 包)(2)检查有多少独特的行——如果有很多重复,你可以为每个独特的组合只运行一次加法