Ale*_*lex 5 r time-series missing-data zoo
我在R中有一个动物园对象,它有每日数据,并且错过了周末.当我尝试ar()在对象上运行某些函数时(例如)我得到错误:
mkt.ar <- ar(zoo_object)
Error in na.fail.default(as.ts(x)) : missing values in object
Run Code Online (Sandbox Code Playgroud)
如果我做:
mkt.ar <- ar(zoo_object, na.action=na.omit)
Error in na.omit.ts(as.ts(x)) : time series contains internal NAs
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为当动物园试图将事物转换为ts时,周末本来就缺失了.除了将事物转换为使用coredata(zoo_object)和运行的向量之外ar(),有没有办法告诉R跳过丢失的数据?
谢谢
我认为每天都会在您的数据中显示,包括工作日和周末,但没有数据存在的日期NA(而不是根本不存在).将来请提供一些测试数据以便更清晰.
除了你的解决方案,如果你有足够多的数据,你可以执行ar的每周数据只能由日或之前提取的最后一个非缺失值周五:
library(zoo)
# test data
library(chron) # is.weekend
z <- zoo(100:130, as.Date("2000-01-01") + 0:30)
z[is.weekend(time(z))] <- NA
# extract Fridays
zfri <- na.locf(z)[format(time(z), "%w") == 5]
Run Code Online (Sandbox Code Playgroud)
(如果没有缺失周五它可以通过更换缩短na.locf(z)用z.)
另一种可能性是使用1,2,......但是给它们命名,在这种情况下你总是可以通过检查它的时间名来找出一个点所属的日期.
z1 <- na.omit(z)
time(z1) <- setNames(seq_along(z1), time(z1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2913 次 |
| 最近记录: |