私のデータセットには 140 か月間で 1000 のヘッジファンドのリターンがあり、PerformanceAnalytics パッケージでコマンド VaR を使用してバリュー アット リスク (VaR) を計算しようとしていました。ただ、この機能を使ってみるといろいろと疑問が出てきました。問題を示すサンプル データ フレームを作成しました。
df=data.frame(matrix(rnorm(24),nrow=8))
df$X1<-c('2007-01','2007-02','2007-03','2007-04','2007-05','2007-06','2007-07','2007-08')
df[2,2]<-NA
df[2,3]<-NA
df[1,3]<-NA
df
データフレームを取得しました:
X1 X2 X3
1 2007-01 -1.4420195 NA
2 2007-02 NA NA
3 2007-03 -0.4503824 -0.78506597
4 2007-04 1.4083746 0.02095307
5 2007-05 0.9636549 0.19584430
6 2007-06 1.1935281 -0.14175623
7 2007-07 -0.3986336 1.58128683
8 2007-08 0.8211377 -1.13347168
それから私は走ります
apply(df,2,FUN=VaR, na.rm=TRUE)
警告メッセージを受け取りました:
データは時系列に変換できません。1 つの列を持つデータ オブジェクトから名前を渡そうとする場合は、'data[rows, columns, drop = FALSE]' の形式を使用する必要があります。行名には、「1985-03-15」などの標準の日付形式を使用する必要があります。
を使用してデータ フレームを時系列の組み合わせに変換しようとしましzoo()
たが、役に立ちませんでした。誰かが私が今何をすべきかを理解するのを助けることができますか?