2013-04-13 72 views
0

我已經更新到R的最後一個版本並更新了rugarch包。 不幸的是以前工作的一些代碼不再有效。我現在得到一個錯誤。 我將非常樂意幫助將輸出轉換爲數據框。R將rugarch輸出放入數據幀

library(rugarch) 
data(sp500ret) 
spec = ugarchspec() 
fit1 = ugarchfit(spec = spec, data = sp500ret) 
df.fit1 <- as.data.frame(fit1,which="VaR") 

Error in as.data.frame.default(fit1, which = "VaR"): 
cannot coerce class "structure("uGARCHfit", package = "rugarch")" to a 
data.frame 
attributes(fit1) 

顯示:$fit$sigma

但是當我嘗試:

df1 <- data.frame(fit1$fit$sigma) 

我得到一個錯誤信息;

Error in fit1$fit : $ operator not defined for this S4 class 

回答

3
  1. as.data.frame(FIT1,這= 「風險價值」)與NEVER類uGARCHfit的對象(您正在使用一個uGARCHroll對象混淆本)的工作。如果您想要條件VaR,您現在可以(在新版本中)使用分位數方法,例如分位數(fit1,c(0.01,0.05))。
  2. 如果你想要條件標準偏差,那麼你應該使用sigma(fit1),它將返回一個xts矩陣,或者fit1 @ fit $ sigma(@追蹤S4類中的一個對象)。通過仔細閱讀文檔,小插圖和作者的網站(其中包含更改的詳細信息),可以回答這個和其他大多數問題。
  3. 您應該按照軟件包的小插圖中的說明清楚地說明關於rugarch的問題應該發佈到R-SIG-FINANCE郵件列表中,而不是用於stackoverflow。

-Alexios

+0

非常感謝你。我非常感謝你的幫助。 –