繁体   English   中英

汇总POSIX时间序列中丢失数据的时间间隔

[英]Summarizing intervals of missing data in POSIX time series

我有一个每小时降水量数据的时间序列,我正在尝试通过QA / QC例程运行。 我想做的一件事是创建一个数据丢失间隔时间的直方图,该间隔直方图将数据丢失的时间长度分组,例如,丢失一个小时的数据有多少个周期,连续两个小时的丢失了多少个周期,三个有多少个,依此类推...我可能可以用一些嵌套循环来做到这一点,但想知道是否有更好的方法。

时间序列是连续的(表示所有小时数)。 datetime为POSIXct,数据为数字,缺少数据为NA。 可以使用以下示例创建一个简短的示例:

precip <- structure(list(datetime = structure(c(1114905600, 1114909200, 
1114912800, 1114916400, 1114920000, 1114923600, 1114927200, 1114930800, 
1114934400, 1114938000, 1114941600, 1114945200, 1114948800), class = c("POSIXct", 
"POSIXt"), tzone = "UTC"), precip = c(1.1, NA, 2, 0, NA, NA, 
NA, 0, 0, NA, NA, 0.5, 0.3)), .Names = c("datetime", "precip"
), row.names = c(NA, -13L), class = "data.frame")

输出应将一个一小时的时间段,一个两个小时的时间段和一个三个小时的时间段识别为丢失数据。 谢谢!

使用rlerle编码):

R> rle_res <- as.data.frame(unclass(rle(is.na(precip$precip))))
R> rle_na <- subset(rle_res, values==TRUE)  # filter NA values
R> table(rle_na$length)
1 2 3 
1 1 1 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM