2016-06-25 7 views
-1

私の目標は、季節的にデータを調整し、季節要因のみを保存することです。 私のデータは60以上の時系列で構成されています。あなたが見ているように、私の問題の1つは、 は私が一度に調整する必要がある時系列の多くです。ここではRでこれを行うには、私の試みです:多変量時系列でのRでの季節調整とループの使用

library("timeDate") 
library("timeSeries") 
library("seasonal") 

mDxts <- structure(c(35.8, 41.6, 35.9, 36.9, 42.43, 36.067,28.67, 29.53, 32.83, 29.867,23.9, 20.8, 21.167, NA, NA, NA, NA, NA, NA, NA, 149.67,108.89, 89.067, 83.33, 77.2,64.91, 50.2, 48, 62.13, 52.93,43.2, 38.8, 37.9, 19, 18, 17, 16.5, 16, 15.5, 15), class = c("xts","zoo"), .indexCLASS = "yearqtr", tclass = "yearqtr", .indexTZ = "", tzone = "", index = structure(c(946684800,954547200, 962409600, 970358400, 978307200, 986083200, 993945600,1001894400, 1009843200, 1017619200, 1025481600, 1033430400, 1041379200,1491004800, 1498867200, 1506816000, 1514764800, 1522540800, 1530403200,1538352000), tzone = "", tclass = "yearqtr"), .Dim = c(20L, 2L), .Dimnames = list(NULL, c("depall", "ref"))) 
ll<-lapply(mDxts, function(e) ts(e,start=c(2000,1),frequency=4)) 
#I. Seasonal adjustment and saving only d10 component: 
sf<-sapply(ll,function(e) try(seas(e,x11="",na.action=na.exclude, transform.function = "none",x11.mode="logadd",arima.model="(0 1 1) (0 1 0)",regression.aictest = NULL, outlier=NULL,x11.save="d10"))) 

私が理解したように、私の主な問題はsf<-sapply(st,function(e) try(seas(e, x11.save="d10"))を行って、私は、各要素は(で見てみるようにすべてのD10、D11とを持つリストであるリストを入手することですSF.df<-as.data.frame(SF))。

答えて

2

さて、時間が経過したので、質問に答えられるようになりました。 季節ごとに多くのデータを同時に調整し、一度に再計算する必要がありました。

  1. 第1に、季節調整の結果がリストとして保存されたという問題点がありました。答えはseasonalからのfuction finalを使用している:

    sf<-sapply(st,function(e) try(series(seas(e,x11="",na.action=na.exclude, 
    transform.function = "none",x11.mode="logadd",arima.model="(0 1 1) (0 1 0)", 
    regression.aictest = NULL, outlier=NULL),"d10"))) 
    

sa<-sapply(st,function(e) try(final(seas(e,x11="",na.action=na.exclude, 
transform.function = "none",x11.mode="logadd",arima.model="(0 1 1) (0 1 0)", 
regression.aictest = NULL, outlier=NULL)))) 
  • は、同じパッケージから機能seriesが必要だった季節要因を保存するには

  • 関連する問題