[英]R Stargazer - Manually Specify R^2 And Write to .tex
我正在使用Stargazer來報告我使用強大標准錯誤的某些模型的結果。 計算這些模型然后將模型送到Stargazer的過程剝去了R ^ 2等數據,所以我需要手動添加它。 但是,這樣做會給我帶來麻煩。 下面是我正在嘗試運行的基本stargazer()
調用。 接下來和一些討論是生成進入stargazer()
調用的數據所需的代碼:
stargazer(fit1_robust, fit2_robust,
keep.stat = c("n", "adj.rsq"), # doesn't actually result in keeping the stats, but including it just to demonstrate such.
add.lines = list(c("Adjusted $R^2$", fit1_r2, fit2_r2)),
out = "~/Test.tex"
)
當我這樣稱呼時,我收到以下錯誤:
Error in if (nchar(text.matrix[r, c]) > max.length[real.c]) { :
missing value where TRUE/FALSE needed
這有一些有趣的方面:
如果我省略^
而不是僅使用"Adjusted $R2$"
則不會發生錯誤
如果我不使用out
參數指定要導出的.tex文件,則不會發生此錯誤。
解決這些子彈中的任何一個“解決”錯誤,但代價是我的代碼並沒有真正按照我的意願行事。 如何以我在這里完成的方式手動添加調整后的R ^ 2(更一般地,添加涉及^
注釋)?
(注意:我也嘗試轉義^
字符,用/^
替換它。這給出了一個錯誤。如果我使用雙轉義: //^
來防止錯誤,但隨后在生成的.tex文件中出現一個轉義那不是我想要的。)
以下是代碼的其余部分,以便獲得上述stargazer()
調用所需的所有對象:
library(stargazer)
library(lmtest)
library(sandwich)
#################
# Simulate Data #
#################
N = 100
A = rnorm(N)
B = rnorm(N)
Y = 2*A + B + rnorm(N)
Data = data.frame(Y, A, B)
#####################################
# Fit Models and Find Robust Errors #
#####################################
fit1 = lm(Y~A)
fit2 = lm(Y~A+B)
fit1_robust = coeftest(fit1, vcov = sandwich)
fit2_robust = coeftest(fit2, vcov = sandwich)
fit1_r2 = round(summary(fit1)$adj.r.squared, 4)
fit2_r2 = round(summary(fit2)$adj.r.squared, 4)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.