我正在从 CSV 文件中加载一个 `data.table`,其中包含日期、订单、金额等字段。
输入文件偶尔不会包含所有日期的数据。例如,如下所示:
在上述数据中,01月03日和01月06日没有任何条目。
希望使用默认值(例如订单、金额等为零),或者将最后一个值向前传递(例如,01月03日将重复02月01日的值,01月06日将重复05月01日的值等)来填充缺失的条目。
如何用最佳/最优方法填补这些缺失日期数据的空缺?
答案here建议使用
输入文件偶尔不会包含所有日期的数据。例如,如下所示:
> NADayWiseOrders
date orders amount guests
1: 2013-01-01 50 2272.55 149
2: 2013-01-02 3 64.04 4
3: 2013-01-04 1 18.81 0
4: 2013-01-05 2 77.62 0
5: 2013-01-07 2 35.82 2
在上述数据中,01月03日和01月06日没有任何条目。
希望使用默认值(例如订单、金额等为零),或者将最后一个值向前传递(例如,01月03日将重复02月01日的值,01月06日将重复05月01日的值等)来填充缺失的条目。
如何用最佳/最优方法填补这些缺失日期数据的空缺?
答案here建议使用
allow.cartesian = TRUE
和expand.grid
来处理缺失的工作日 - 这可能适用于工作日(因为它们只是7天的一周) - 但不确定这是否是处理日期的正确方法,特别是如果我们正在处理多年的数据。
roll=0
,然后运行NADayWiseOrders[is.na(orders), orders:=0]
代码。该代码的作用是将NADayWiseOrders
数据框中缺失值所对应的orders
列填充为0。 - Murtaseq
操作,并在分组内执行滚动连接操作? - RoyalTS