想定: Zoo または xts オブジェクトのいずれかの時系列データがあります。
質問: 時系列が月次、四半期、年次のいずれであるかを確認できる便利な機能や方法はありますか?
想定: Zoo または xts オブジェクトのいずれかの時系列データがあります。
質問: 時系列が月次、四半期、年次のいずれであるかを確認できる便利な機能や方法はありますか?
タイムスタンプ間の平均差を計算し、それが 1 (毎日のデータ)、7 (毎週) などに近いかどうかを確認できます。
guess_period <- function(x) {
average_period <- as.double( mean(diff(index(x))), units="days" )
difference <- abs(log( average_period / c(
daily = 1,
business_days = 7/5,
weekly = 7,
monthly = 30,
quarterly = 365/4,
annual = 365
) ) )
names( which.min( difference ) )
}
# Examples
library(quantmod)
getSymbols("^GSPC")
guess_period( GSPC )
# [1] "business_days"
getSymbols('CPIAUCNS',src='FRED')
guess_period( CPIAUCNS )
# [1] "monthly"
xts パッケージには、periodicity
この目的のための機能があります。
library(quantmod)
getSymbols("^GSPC")
periodicity(GSPC)
# Daily periodicity from 2007-01-03 to 2013-10-04
getSymbols("CPIAUCNS", src="FRED")
periodicity(CPIAUCNS)
# Monthly periodicity from 1913-01-01 to 2013-08-01
上記のすべての手法で想定されていることの 1 つは、各データ ポイントの値を気にする必要がなく、すべてが同等に扱われるということです。各データポイントの値を組み込む方法を知っている人はいますか? 実際には、地区のデータ ポイントの期間を見つけます。1 つの時系列に複数の周期性があると想像できます。