Jok*_* O. 9 model r scientific-notation stargazer texreg
我只是运行了一个统计模型,我希望它使用观星仪将该模型的结果显示为表格。但是,大量显示完整。
fit2<-lm(A~B,data=C)
stargazer(fit2,type="text")
Run Code Online (Sandbox Code Playgroud)
结果与此表
===================================================
Dependent variable:
-------------------------------
A
---------------------------------------------------
B -0.599
(1.698)
32,126,391.000
(24,004,268.000)
---------------------------------------------------
Observations 5
R2 0.040
Adjusted R2 -0.280
Residual Std. Error 31,217,258.000 (df = 3e+00)
F Statistic 0.124 (df = 1e+00; 3e+00)
===================================================
Note: *p<1e-01; **p<5e-02; ***p<1e-02
Run Code Online (Sandbox Code Playgroud)
如何获得显示为科学数的大数字,请问:3.12e + 07?我试过了:
options("scipen"=-20,"digit"=2)
fit1<-format(lm(A~B,data=C),scientific=T)
Run Code Online (Sandbox Code Playgroud)
但是,这会使模型的摘要失真并显示为单行。请问格式化数字和保留表结构的最佳方法是什么?
CO NO2 SM
Dec 2004 2.750000e+18 1.985136e+15 0.2187433
Jan 2005 2.980000e+18 2.144211e+15 0.1855678
Feb 2005 2.810000e+18 1.586491e+15 0.1764805
Dec 2005 3.010000e+18 1.755409e+15 0.2307153
Jan 2006 3.370000e+18 2.205888e+15 0.2046671
Feb 2006 3.140000e+18 2.084682e+15 0.1834232
Dec 2006 2.940000e+18 1.824735e+15 0.1837391
Jan 2007 3.200000e+18 2.075785e+15 0.1350665
Feb 2007 3.060000e+18 1.786481e+15 0.1179924
Dec 2007 2.750000e+18 1.645800e+15 0.2037340
Jan 2008 3.030000e+18 1.973517e+15 0.1515871
Feb 2008 3.040000e+18 1.753803e+15 0.1289968
Dec 2008 2.800000e+18 1.649315e+15 0.1968024
Jan 2009 3.090000e+18 1.856762e+15 0.1630173
Feb 2009 2.880000e+18 1.610011e+15 0.1446938
Dec 2009 2.660000e+18 1.562971e+15 0.1986012
Jan 2010 2.864333e+18 1.733843e+15 0.1559205
Feb 2010 2.881474e+18 1.469982e+15 0.1397536
Dec 2010 2.730000e+18 1.652751e+15 0.2129476
Jan 2011 3.030000e+18 1.862774e+15 0.1681295
Feb 2011 2.850000e+18 1.658988e+15 0.1531579
Run Code Online (Sandbox Code Playgroud)
Phi*_*eld -4
问题不在于这些包无法显示科学记数法。问题在于你的自变量的规模非常小。在模型中使用它们之前,您应该通过将这些值乘以某个常数来重新调整它们。例如,当您处理以公里为单位的人员尺寸时,您可能需要将其重新调整为米或厘米。这将使表格比以科学记数法显示结果更容易阅读。
考虑以下示例:
a <- c(4.17, 5.58, 5.18, 6.11, 4.50, 4.61, 5.17, 4.53, 5.33, 5.14)
b <- c(0.00020, 0.00024, 0.00024, 0.00026, 0.00021, 0.00022, 0.00023,
0.00022, 0.00023, 0.00022)
model.1 <- lm(a ~ b)
Run Code Online (Sandbox Code Playgroud)
接下来,使用以下命令创建表texreg:
library("texreg")
screenreg(model.1)
Run Code Online (Sandbox Code Playgroud)
这产生下表:
=========================
Model 1
-------------------------
(Intercept) -2.27 *
(0.94)
b 32168.58 ***
(4147.00)
-------------------------
R^2 0.88
Adj. R^2 0.87
Num. obs. 10
=========================
*** p < 0.001, ** p < 0.01, * p < 0.05
Run Code Online (Sandbox Code Playgroud)
所以系数相当大。让我们尝试同样的事情stargazer:
library("stargazer")
stargazer(model.1, type = "text")
Run Code Online (Sandbox Code Playgroud)
结果表:
===============================================
Dependent variable:
---------------------------
a
-----------------------------------------------
b 32,168.580***
(4,146.999)
Constant -2.270**
(0.944)
-----------------------------------------------
Observations 10
R2 0.883
Adjusted R2 0.868
Residual Std. Error 0.212 (df = 8)
F Statistic 60.172*** (df = 1; 8)
===============================================
Note: *p<0.1; **p<0.05; ***p<0.01
Run Code Online (Sandbox Code Playgroud)
同样的问题:系数大。现在重新调整原始变量b并重新计算模型:
b <- b * 10000
model.2 <- lm(a ~ b)
Run Code Online (Sandbox Code Playgroud)
再试一次texreg:
screenreg(model.2)
======================
Model 1
----------------------
(Intercept) -2.27 *
(0.94)
b 3.22 ***
(0.41)
----------------------
R^2 0.88
Adj. R^2 0.87
Num. obs. 10
======================
*** p < 0.001, ** p < 0.01, * p < 0.05
Run Code Online (Sandbox Code Playgroud)
与stargazer:
stargazer(model.2, type = "text")
===============================================
Dependent variable:
---------------------------
a
-----------------------------------------------
b 3.217***
(0.415)
Constant -2.270**
(0.944)
-----------------------------------------------
Observations 10
R2 0.883
Adjusted R2 0.868
Residual Std. Error 0.212 (df = 8)
F Statistic 60.172*** (df = 1; 8)
===============================================
Note: *p<0.1; **p<0.05; ***p<0.01
Run Code Online (Sandbox Code Playgroud)
现在系数看起来更好了,并且您不需要科学记数法。