我正在运行kpss.test
包中的tseries
。由于它是假设检验,因此它具有类htest
。然而,我想将这个测试应用于遍历整个系列的时间序列,但是在特定的时间范围内,对每个时间帧应用kpss测试并将结果存储到矩阵中。但是,我想你把它存储到矩阵中它必须具有相同的矩阵类。但我无法使用htest
或as.matrix
函数更改as.vector
的类,但我无法正确存储它。有人可以建议我取得成功吗?
答案 0 :(得分:1)
这是两个选项。
首先,您可以将其存储在list
中。像
save <- list()
for (i in seq_along(timeframes)) {
l[[i]] <- kpss.test(timeframes[i])
}
其次,你可以提取你想要的碎片并将它们粘在一个矩阵中。
save <- matrix(nrow=length(timeframes), ncol=2)
for (i in seq_along(timeframes)) [
k <- kpss.test(timeframes[i])
save[i, ] <- c(k$statistic.KPSS, c$p.value)
}
答案 1 :(得分:1)
我会为此推荐broom
包。
library(broom)
x <- rnorm(1000) # is level stationary
tidy(kpss.test(x))
答案 2 :(得分:0)
好吧,我可以很容易地解决这个空洞的data.frame
问题。谢谢!
df <- data.frame(statistic = numeric(0), parameter = integer(0), p.value = numeric(0), method = character(0), data.name = character(0))
for (i in 1:3286){
P_2044050.ts <- ts(P_2044050.df[i:(i+364),])
kpss_posto <- kpss.test(P_2044050.ts)
df[i,] <- kpss_posto
}