省略常量并将值移到 R 中 stargazer 中的正确位置
Omit the constant and shift values into the correct location in stargazer in R
我想将平均边际效应输入到 stargazer
table 中
问题在于 stargazer 将第一个边际效应值视为 table 中的常数。我计算的平均边际效应不包括常数。因此,我想从 table 中省略它。在 stargazer 中使用 omit
参数只是完全排除了该术语。因为它把第一个边际效应值当成常数,所以实际上掉了一个系数。
如何让 stargazer 忽略常数,同时让它识别第一个值实际上是一个系数,而不是常数?
这里是问题的一个例子:
#devtools::install_github("vincentarelbundock/marginaleffects")
library(marginaleffects)
library(stargazer)
Y <- sample(c(0,1), 1000, replace = T)
X <- sample(seq(1,50,1), 1000, replace = T)
Z <- sample(seq(1,50,1), 1000, replace = T)
DF <- data.frame(Y,X, Z)
Test <- glm(Y ~ X + Z, data = DF, family=binomial())
Test_DF <- data.frame(summary(marginaleffects(Test)))
Test_DF
#********************* Table **********************
#Fake Regression - to Make Table
Fake_RE <- glm(Y ~ X + Z, data = DF, family=binomial())
stargazer(list(Fake_RE), type = "text",
coef = list(Test_DF$estimate),
se = list(Test_DF$std.error))
平均边际效应:
> Test_DF
type term estimate std.error statistic p.value conf.low conf.high
1 response X 0.001540192 0.001109148 1.388627 0.1649462 -0.000633697 0.0037140816
2 response Z -0.001215714 0.001087828 -1.117561 0.2637546 -0.003347817 0.000916389
后续Table:
> stargazer(list(Fake_RE), type = "text",
+ coef = list(Test_DF$estimate),
+ se = list(Test_DF$std.error))
=============================================
Dependent variable:
---------------------------
Y
---------------------------------------------
X -0.001
(0.001)
Z
Constant 0.002
(0.001)
---------------------------------------------
Observations 1,000
Log Likelihood -690.097
Akaike Inf. Crit. 1,386.194
=============================================
Note: *p<0.1; **p<0.05; ***p<0.01
stargazer
包没有正式支持这种类型的对象,并且由于该包自 2018 年以来没有更新,我认为期望很快得到支持是不合理的。
如果你愿意考虑替代方案,不妨试试the modelsummary
package(免责声明:我是作者):
#devtools::install_github("vincentarelbundock/marginaleffects")
library(marginaleffects)
library(modelsummary)
Y <- sample(c(0,1), 1000, replace = T)
X <- sample(seq(1,50,1), 1000, replace = T)
Z <- sample(seq(1,50,1), 1000, replace = T)
DF <- data.frame(Y,X, Z)
Test <- glm(Y ~ X + Z, data = DF, family=binomial())
mfx <- marginaleffects(Test)
modelsummary(mfx)
Model 1
X
0.000
(0.001)
Z
0.002
(0.001)
Num.Obs.
1000
AIC
1389.3
BIC
1404.0
Log.Lik.
-691.653
我想将平均边际效应输入到 stargazer
table 中
问题在于 stargazer 将第一个边际效应值视为 table 中的常数。我计算的平均边际效应不包括常数。因此,我想从 table 中省略它。在 stargazer 中使用 omit
参数只是完全排除了该术语。因为它把第一个边际效应值当成常数,所以实际上掉了一个系数。
如何让 stargazer 忽略常数,同时让它识别第一个值实际上是一个系数,而不是常数?
这里是问题的一个例子:
#devtools::install_github("vincentarelbundock/marginaleffects")
library(marginaleffects)
library(stargazer)
Y <- sample(c(0,1), 1000, replace = T)
X <- sample(seq(1,50,1), 1000, replace = T)
Z <- sample(seq(1,50,1), 1000, replace = T)
DF <- data.frame(Y,X, Z)
Test <- glm(Y ~ X + Z, data = DF, family=binomial())
Test_DF <- data.frame(summary(marginaleffects(Test)))
Test_DF
#********************* Table **********************
#Fake Regression - to Make Table
Fake_RE <- glm(Y ~ X + Z, data = DF, family=binomial())
stargazer(list(Fake_RE), type = "text",
coef = list(Test_DF$estimate),
se = list(Test_DF$std.error))
平均边际效应:
> Test_DF
type term estimate std.error statistic p.value conf.low conf.high
1 response X 0.001540192 0.001109148 1.388627 0.1649462 -0.000633697 0.0037140816
2 response Z -0.001215714 0.001087828 -1.117561 0.2637546 -0.003347817 0.000916389
后续Table:
> stargazer(list(Fake_RE), type = "text",
+ coef = list(Test_DF$estimate),
+ se = list(Test_DF$std.error))
=============================================
Dependent variable:
---------------------------
Y
---------------------------------------------
X -0.001
(0.001)
Z
Constant 0.002
(0.001)
---------------------------------------------
Observations 1,000
Log Likelihood -690.097
Akaike Inf. Crit. 1,386.194
=============================================
Note: *p<0.1; **p<0.05; ***p<0.01
stargazer
包没有正式支持这种类型的对象,并且由于该包自 2018 年以来没有更新,我认为期望很快得到支持是不合理的。
如果你愿意考虑替代方案,不妨试试the modelsummary
package(免责声明:我是作者):
#devtools::install_github("vincentarelbundock/marginaleffects")
library(marginaleffects)
library(modelsummary)
Y <- sample(c(0,1), 1000, replace = T)
X <- sample(seq(1,50,1), 1000, replace = T)
Z <- sample(seq(1,50,1), 1000, replace = T)
DF <- data.frame(Y,X, Z)
Test <- glm(Y ~ X + Z, data = DF, family=binomial())
mfx <- marginaleffects(Test)
modelsummary(mfx)
Model 1 | |
---|---|
X | 0.000 |
(0.001) | |
Z | 0.002 |
(0.001) | |
Num.Obs. | 1000 |
AIC | 1389.3 |
BIC | 1404.0 |
Log.Lik. | -691.653 |