r - 在时间序列中查找缺失值

标签 r

我有一个时间序列数据。 我需要在时间序列数据中找到缺失值并将其显示给用户。我只需要一个可以快速运行的算法。由于此输出需要在 Shiny 中生成。不能让用户久等

# creating sample data
topdays <- seq(1,6,2)
topobs <- rep("Adams",3)
middays <- rep(seq(1:6),3)
midobs <- c(rep("Allen",6),rep("Benton",6),rep("Blackford",6))
bottomdays <- seq(1,6,2)
bottomobs <- rep("Brown",3)
values <- runif(24, min=70, max=100)
obs <- c(topobs,midobs,bottomobs)
days <- c(topdays,middays,bottomdays)
df <- data.frame(days,values,obs)
# end creation of sample data

如您所见,Adams 和 Brown 在第 2、4、6 天的观察数据缺失。

我想创建一个函数来捕捉丢失的一天和观察结果

输出应创建一个包含缺失值及其观察值的数据框。

我刚刚创建了一个问题陈述示例。

真正的数据集会非常大。

感谢您期待看到这个。 让我知道是否可以提供更多详细信息

最佳答案

我们可以尝试:

library(data.table)
setDT(df)
setkeyv(df, c("days", "obs"))
df[with(df, expand.grid(unique(days), unique(obs)))][is.na(values)]

输出

   days values   obs
1:    2     NA Adams
2:    4     NA Adams
3:    6     NA Adams
4:    2     NA Brown
5:    4     NA Brown
6:    6     NA Brown

关于r - 在时间序列中查找缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43238774/

相关文章:

r - 将字母添加到 data.table R 中的 setnames

替换字符串 R 中的字符

r - S4 方法在另一个包中也设置时失败

regex - R 正则表达式 : extracting speaker in a script

r - 根据其他变量在R中生成数字序列

r - R 中的流图?

r - 如何找到统计模式?

r - 如何按行条件将巨大的csv文件读入R?

r - 如何对齐多行标题

r - 用plm方法预测