【发布时间】:2017-10-17 08:01:47
【问题描述】:
如何在不平衡的时间序列表(时间间隔不均匀)中创建滞后变量? 来自数据表 -
ts = data.table(time=c(10,15,22,25,28),value=c(7,2,14,22,11), key="time")
如何通过time-5 创建滞后变量value_lagged of value?
time value value_lagged
10 7 NA
15 2 7
22 14 2
25 22 2
28 11 14
我通常的解决方案是创建一个巨大的交叉连接表,然后使用 'by' + 'min' 回到初始状态,但这不适用于 1M 表。
这个问题在这里有答案 - https://stackoverflow.com/a/36754846/1317325 但太难找到了。
【问题讨论】:
-
只需通过引用在此处发布该评论作为答案的人来发布该评论。或者,如果您想以 Q/A 样式发布,则包含比您在问题正文中更多的详细信息。不仅仅是一个链接。
-
我已经绊倒了这个问题 3 年了,每次都花一个小时左右来找出最快的解决方案因为 Arun 不评论不容易找到,最好在这里
-
同意。但是,您不认为您的“问题”没有那么清楚地反映问题。只需将其作为可重现的示例,并提供更多详细信息。同样,不要只发布链接。这使您的问题在一段时间后迷失在 SO 中。除非您只想为自己记录它。
-
我知道我最终会花更多时间进行编辑 :) 无论如何,谢谢你强迫我,现在它更具可读性
标签: r data.table time-series