首页 > 解决方案 > 添加零降雨时间

问题描述

大多数时候每小时降雨量为零 (0),这不在文件中。如何创建一个完整的时间序列,其中包含一年中的所有 8,784 小时。也就是说,添加降雨量为零的小时数。

rainfall$V1 <- as.POSIXct(paste0(rainfall$V1), format = "%d%b%y:%H:%M")

head(rainfall)

头(降雨)

例如。文件中缺少 1992-01-01 01:00:00 ... 1992-01-16 13:00:00 1992-01-16 17:00:00,因为它们的降雨量为零。

V1 是日期(每小时) V2 是每小时降雨量

这是我的 ts():

rainfall_ts <- ts(rainfall$V2, start= c(1992,01,01),  frequency = 24*365)

我需要绘制rainbow_ts,频率= 24 * 365是否正确?

谢谢你

标签: rtime-serieszerohour

解决方案


您可以使用tidyr::complete创建每小时序列并用 0 填充缺失的时间戳。

rainfall$V1 <- as.POSIXct(paste0(rainfall$V1), format = "%d%b%y:%H:%M")

rainfall <- tidyr::complete(rainfall, V1 = seq(min(V1), max(V1), by = 'hour'), 
            fill = list(V2 = 0))

推荐阅读