【发布时间】:2018-01-26 07:02:53
【问题描述】:
我有一个每日时间序列数据集,我正在尝试对其执行每小时线性插值。我的代码在点之间执行线性插值,但我需要在每个 ID 的最后一个点之后从 0 开始并开始新的一天。
以下是我在每日原始数据中添加缺失时间后的输出
以下是我执行以下代码后的输出,但我不知道如何从 0 开始:
dfYPO0_20171 <- dfYPO0_2017
%>% mutate(TIMESTAMP = as.POSIXct(as.character(TIMESTAMP)))
%>% group_by(ID)
%>% do(left_join(data.frame(ID= .$ID[1], TIMESTAMP = seq(min(.$TIMESTAMP), max(.$TIMESTAMP), by = "hour")), ., by=c("ID", "TIMESTAMP")))
%>% mutate(CALC_HOURLY_PROD= na.approx(.$"Total Prod Yest"))
以下是我希望输出的样子:
提前感谢您的帮助!
【问题讨论】:
-
复制列,先填零,然后运行
na.approx? -
请不要为您的数据提供图片。没有人愿意再次全部输入。相反,请使用
dput制作可打印的数据形式并将其粘贴到您的问题中。 -
很抱歉,我保证以后不会发生。
标签: r