gpt4 book ai didi

r - 从 X12 获取 TS 的频率和 XTS

转载 作者:行者123 更新时间:2023-12-01 12:46:26 24 4
gpt4 key购买 nike

我正在尝试使用 x12 包自动进行一些季节性调整。为此,我需要一个 ts 对象。但是,我不需要一个简单的 ts 对象,而是一个已经设置了开始日期和频率的对象。对于任何给定的系列,我都可以输入,但我将混合每月或每周的数据输入。我可以从 quantmod 中获取数据作为 xta 对象,但似乎无法弄清楚如何从 xts 中提取频率。下面是一些在整个过程中都有效的示例代码,但我想从 xts 中提取频率信息,而不是明确地设置它:

getSymbols("WILACR3URN",src="FRED", from="2000-01-01") # get data as an XTS
lax <- WILACR3URN #shorten name
laxts <- ts(lax$WILACR3URN, start=c(2000,1), frequency=12) #explicitly it works
plot.ts(laxts)
x12out <- x12(laxts,x12path="c:\\x12arima\\x12a.exe",transform="auto", automdl=TRUE)
laxadj <- as.ts(x12out$d11) # extract seasonally adjusted series

有什么建议吗?或者这是不可能的,我应该明确地确定/提供频率吗?

谢谢

最佳答案

对于这种特定情况,这尚未经过测试,但请尝试使用 xts::periodicity 作为频率:

freq <- switch(periodicity(lax)$scale,
daily=365,
weekly=52,
monthly=12,
quarterly=4,
yearly=1)

并使用POSIXlt对象的yearmon元素来计算起始年月。

pltStart <- as.POSIXlt(start(lax))
Start <- c(pltStart$year+1900,pltStart$mon+1)
laxts <- ts(lax$WILACR3URN, start=Start, frequency=freq)
plot.ts(laxts)

关于r - 从 X12 获取 TS 的频率和 XTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15393749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com