ベクトルを含むかなり複雑なリストの値を分析するのに苦労しています。これは、ARIMAテストをいくつかの時系列に適用するための係数(=ベクトル)のリストです。
これらの係数ベクトルは、空(numeric(0)
)、またはサイズが異なる場合があります。例:
> test <- list(numeric(0),c(ma1=0.7712434), c(ar1=0.6438842, ar2=-0.3112884))
> test
[[1]]
numeric(0)
[[2]]
ma1
0.7712434
[[3]]
ar1 ar2
0.6438842 -0.3112884
たとえば、すべての「ar」または「ar1」の用語を簡単に選択できるようにしたい(名前に基づいた選択)。私はこの複雑なリストの処理に苦労しています。したがって、最も簡単な解決策は、このベクトルのリストを単一のベクトルに変換することだと思います(空の数値は無視します)。
上記の例では、次のようになります。
> c(ma1=0.7712434, ar1=0.6438842, ar2=-0.3112884)
ma1 ar1 ar2
0.7712434 0.6438842 -0.3112884
誰が私を助けることができますか?
注:名前に基づいて、たとえばAR用語の数を計算することができました。以下を参照してください。しかし、これらの用語の実際の値を抽出する際にこれを使用することはできません。
tempFunName <- function(vec, name) { substr(names(vec),1,2) == name } # info on coef types
termType <- "ar" # all names starting with "ar"
sum(sapply(lapply(test, tempFunName, name=termType), sum, simplify=TRUE)) # all names starting with "ar"