[英]Including standardized coefficients in a stargazer table
我有一系列線性模型,我想報告每個模型的標准化系數。 但是,當我在 stargazer 中打印模型時,看起來 stargazer 會自動打印標准化系數的重要性星,就好像它們是非標准化系數一樣。 您可以在下面看到差異是如何出現的。
根據非標准化值打印重要性星在統計上是否錯誤? 這是如何在觀星者中完成的? 謝謝!
#load libraries
library(stargazer)
library(lm.beta)
#fake data
var1<-rnorm(100, mean=10, sd=5)
var2<-rnorm(100, mean=5, sd=2)
var3<-rnorm(100, mean=2, sd=3)
var4<-rnorm(100, mean=5, sd=1)
df<-data.frame(var1, var2, var3, var4)
#model with unstandardized betas
model1<-lm(var1~var2+var3+var4, data=df)
#Standardized betas
model1.beta<-lm.beta(model1)
#print
stargazer(model1, model1.beta, type='text')
Stargazer
不會自動知道它應該在第二個模型中尋找標准化系數。 lm.beta
只是將標准系數添加到lm.object
。 所以它仍然是一個lm.object
,所以它像往常一樣提取系數(來自model1.beta$coefficients
。使用coef =
參數來指定你想要使用的特定系數: coef = list(model1$coefficients, model1.beta$standardized.coefficients)
> stargazer(model1, model1.beta,
coef = list(model1$coefficients,
model1.beta$standardized.coefficients),
type='text')
==========================================================
Dependent variable:
----------------------------
var1
(1) (2)
----------------------------------------------------------
var2 0.135 0.048
(0.296) (0.296)
var3 -0.088 -0.044
(0.205) (0.205)
var4 -0.190 -0.030
(0.667) (0.667)
Constant 10.195** 0.000
(4.082) (4.082)
----------------------------------------------------------
Observations 100 100
R2 0.006 0.006
Adjusted R2 -0.025 -0.025
Residual Std. Error (df = 96) 5.748 5.748
F Statistic (df = 3; 96) 0.205 0.205
==========================================================
Note: *p<0.1; **p<0.05; ***p<0.01
非常感謝paqmo的回答。 我只想補充一點,以獲得標准化解決方案的正確 p 值,您需要添加另一行詳細說明要使用的 p 值:
stargazer(model1, model1.beta,
coef = list(model1$coefficients,
model1.beta$standardized.coefficients),
p = list (coef(summary(model1))[,4], coef(summary(model1.beta))[,5]),
type='text')
此外,一般情況下,Stargazer 有時不適用於較長的 model 名稱,並Error in if (is.na(s)) {: the condition has length > 1
因此,我建議保持模型名稱簡短(尤其是如果您希望 Stargazer 顯示其中的一些)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.