パッケージgarchFit
から使用する場合、次の表を作成するために使用できます。fGARCH
stargazer
rugarch パッケージを使用して「独自の」GARCH モデルを作成しました。
spec<- ugarchspec(mean.model=list(armaOrder = c(0,0)),
variance.model = list(garchOrder =c(1,1), model="sGARCH"),
distribution.model="norm")
この仕様 (適合) のモデルに stargazer を使用しようとすると、エラーが発生します。
fit<-ugarchfit(spec, data = data)
stargazer(list(fit ), title="Regression Results", type="text", keep.stat=c("n","ll","aic","bic"), out="kindaresults.doc")
「エラー: この S4 クラスには $ 演算子が定義されていません」:
誰かが「望ましい出力」と同じくらい良い出力を作成するのを手伝ってくれませんか? texreg
別のスレッドに従ってパッケージを使用しようとしました。How to export GARCH output to latex? . スレッドは次のことを提案しています。
library(texreg)
#define independent variable:
y <- x #to generalize your case (y is usually the independent variable)
extract.rugarch <- function(fit,
include.rsquared = TRUE, include.loglike = TRUE, include.aic = TRUE, include.bic = TRUE) {
# extract coefficient table from fit:
coefnames <- rownames(as.data.frame(fit@fit$coef))
coefs <- fit@fit$coef
se <- as.vector(fit@fit$matcoef[, c(2)])
pvalues <- as.vector(fit@fit$matcoef[, c(4)]) # numeric vector with p-values
# create empty GOF vectors and subsequently add GOF statistics from model:
gof <- numeric()
gof.names <- character()
gof.decimal <- logical()
if (include.rsquared == TRUE) {
r2 <- 1 - (var(fit@fit$residuals) / var(y))
gof <- c(gof, r2)
gof.names <- c(gof.names, "R^2")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.loglike == TRUE) {
loglike <- fit@fit$LLH
gof <- c(gof, loglike)
gof.names <- c(gof.names, "Log likelihood")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.aic == TRUE) {
aic <- infocriteria(fit)[c(1)]
gof <- c(gof, aic)
gof.names <- c(gof.names, "AIC")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.bic == TRUE) {
bic <- infocriteria(fit)[c(2)]
gof <- c(gof, bic)
gof.names <- c(gof.names, "BIC")
gof.decimal <- c(gof.decimal, TRUE)
}
# create texreg object:
tr <- createTexreg(
coef.names = coefnames,
coef = coefs,
se = se,
pvalues = pvalues,
gof.names = gof.names,
gof = gof,
gof.decimal = gof.decimal
)
return(tr)
}
#print table:
texreg(extract.rugarch(fit, include.rsquared = FALSE)) #for latex # as R^2 is zero in this example.
次のコードを書くと、次のようになります。
エラー: オブジェクト 'include.bic' が見つかりません。
コードの最後の部分を削除するError: object 'include.bic' not found.
と、 が得られます。他の部分include.X
も同様です。
gof.decimal <- logical()
if (include.rsquared == TRUE) {
r2 <- 1 - (var(fit@fit$residuals) / var(y))
gof <- c(gof, r2)
gof.names <- c(gof.names, "R^2")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.loglike == TRUE) {
loglike <- fit@fit$LLH
gof <- c(gof, loglike)
gof.names <- c(gof.names, "Log likelihood")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.aic == TRUE) {
aic <- infocriteria(fit)[c(1)]
gof <- c(gof, aic)
gof.names <- c(gof.names, "AIC")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.bic == TRUE) {
bic <- infocriteria(fit)[c(2)]
gof <- c(gof, bic)
gof.names <- c(gof.names, "BIC")
gof.decimal <- c(gof.decimal, TRUE)
}
Error: object 'include.bic' not found.
オブジェクトが見つからないことは"}"
、コードに追加して括弧を閉じなければならないことに関係している可能性がありextract.rugarch
ます。に何を期待しているのかわかりませんがextract.rugarch
、下に表示されているように、得られるものは関数としては見えないため、オブジェクトが見つからないというメッセージが表示される問題である可能性があります。
#trying to follow code
extract.rugarch <- function(fit,
include.rsquared = TRUE, include.loglike = TRUE, include.aic = TRUE, include.bic = TRUE) {
>
Error: unexpected ',' in include.rsquared = TRUE,"
# closing the parenthesis
extract.rugarch <- function(fit,
include.rsquared = TRUE, include.loglike = TRUE, include.aic = TRUE, include.bic = TRUE) {}
> extract.rugarch
function(fit,
include.rsquared = TRUE, include.loglike = TRUE, include.aic = TRUE, include.bic = TRUE){}
オブジェクトが見つからないというエラーが発生する原因を知っている人はいますか? また、この texreg 手順を使用すると、「望ましい出力」のように複数のモデル出力を並べて配置できますか?
PS ウェブサイトの新しいメンバーとしての評判スコアがコメントを許可していないため、リンクされた質問の下に書きました。私にも質問があるので、回答を投稿することはかなり誤解を招くように思えました。将来これらの問題に遭遇したときに新しい質問をアップロードするか、回答を書くか、他の方法で続行することをお勧めしますか?