用t值替换标准错误而不影响默认格式

时间:2015-02-22 23:02:08

标签: r stargazer

我正在学习使用stargazer输出回归表。我一直在尝试用t值替换标准错误(在括号中),我尝试了以下代码:

f1 <- lm(y1 ~ x1 x2, data=mydata)

stargazer(f1, type="text", out="models.txt", report=('vc*t'))

report=('vc*t')选项确实用t值替换标准错误。但它也删除了标准误差周围的原始括号,并在t值前加上“t =”。以下是使用report=('vc*t')时的系数和t值:

-0.026***         
t = -3.681                                                          

0.002***          
t = 3.260    

理想输出应如下所示:

-0.026***         
(-3.681)                                                          

0.002***          
(3.260) 

我也尝试了se选项:

stargazer(f1, type="text", out="models.txt", se=list(summary(f1)$coef[c(2:4,1),"t value"]))

但它似乎弄乱了表示显着性水平的“*”。

有没有办法解决问题?

1 个答案:

答案 0 :(得分:1)

我想你差不多了。由于你为标准错误传递了一个新参数,它将使用这些来计算重要性。通过观星者你原来的p值列表,你应该全部设置。这是一个完整的例子。

data(iris)
ols.result <- lm(Sepal.Length ~ Sepal.Width + Petal.Length, data = iris)
ols.t.stat <- summary(ols.result)$coef[ , "t value"]
ols.p.val  <- summary(ols.result)$coef[ , "Pr(>|t|)"]
stargazer(ols.result, se = list(ols.t.stat), p = list(ols.p.val))