Tidy 总结了有关模型组件的信息。模型组件可能是回归中的单个项、单个假设、聚类或类。 tidy 所认为的模型组件的确切含义因模型而异,但通常是不言而喻的。如果模型具有多种不同类型的组件,您将需要指定要返回哪些组件。
下面的特定函数为 mfx
包返回的对象提供通用的整洁方法,保留计算的边际效应而不是朴素的模型系数。返回的整洁的 tibble 还将包括一个附加的 "atmean" 列,指示边际效应最初是如何计算的(请参阅下面的详细信息)。
用法
# S3 method for mfx
tidy(x, conf.int = FALSE, conf.level = 0.95, ...)
# S3 method for logitmfx
tidy(x, conf.int = FALSE, conf.level = 0.95, ...)
# S3 method for negbinmfx
tidy(x, conf.int = FALSE, conf.level = 0.95, ...)
# S3 method for poissonmfx
tidy(x, conf.int = FALSE, conf.level = 0.95, ...)
# S3 method for probitmfx
tidy(x, conf.int = FALSE, conf.level = 0.95, ...)
参数
- x
-
logitmfx
、negbinmfx
、poissonmfx
或probitmfx
对象。 (请注意,betamfx
对象接收自己的一组整理器。) - conf.int
-
逻辑指示是否在整理的输出中包含置信区间。默认为
FALSE
。 - conf.level
-
用于置信区间的置信水平(如果
conf.int = TRUE
)。必须严格大于 0 且小于 1。默认为 0.95,对应于 95% 的置信区间。 - ...
-
附加参数。不曾用过。仅需要匹配通用签名。注意:拼写错误的参数将被吸收到
...
中,并被忽略。如果拼写错误的参数有默认值,则将使用默认值。例如,如果您传递conf.lvel = 0.9
,所有计算将使用conf.level = 0.95
进行。这里有两个异常:
细节
mfx
包提供了计算各种广义线性模型 (GLM) 边际效应的方法。与标准线性模型不同,GLM 中的估计模型系数不能直接解释为边际效应(即回归变量之一发生一单位变化后预测的响应变量的变化)。这是因为估计系数是乘法的,取决于用于估计的链接函数和模型中包含的任何其他变量。在计算边际效应时,用户通常必须选择是否要使用 i) 数据中的平均观察值,或 ii) 样本边际效应的平均值。有关更多详细信息,请参阅mfx
包中的vignette("mfxarticle")
。
也可以看看
tidy()
, mfx::logitmfx()
, mfx::negbinmfx()
, mfx::poissonmfx()
, mfx::probitmfx()
其他 mfx 整理器:augment.betamfx()
、augment.mfx()
、glance.betamfx()
、glance.mfx()
、tidy.betamfx()
值
带有列的 tibble::tibble()
:
- conf.high
-
估计置信区间的上限。
- conf.low
-
估计置信区间的下限。
- estimate
-
回归项的估计值。
- p.value
-
与观察到的统计量相关的两侧 p 值。
- statistic
-
在回归项非零的假设中使用的 T-statistic 的值。
- std.error
-
回归项的标准误差。
- term
-
回归项的名称。
- atmean
-
如果边际效应最初计算为平均观测值的部分效应,则为 TRUE。如果为 FALSE,则将这些计算为平均部分效应。
例子
# load libraries for models and data
library(mfx)
# get the marginal effects from a logit regression
mod_logmfx <- logitmfx(am ~ cyl + hp + wt, atmean = TRUE, data = mtcars)
tidy(mod_logmfx, conf.int = TRUE)
#> # A tibble: 3 × 8
#> term atmean estimate std.error statistic p.value conf.low conf.high
#> <chr> <lgl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 cyl TRUE 0.0538 0.113 0.475 0.635 -0.178 0.286
#> 2 hp TRUE 0.00359 0.00290 1.24 0.216 -0.00236 0.00954
#> 3 wt TRUE -1.01 0.668 -1.51 0.131 -2.38 0.359
# compare with the naive model coefficients of the same logit call
tidy(
glm(am ~ cyl + hp + wt, family = binomial, data = mtcars),
conf.int = TRUE
)
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
#> # A tibble: 4 × 7
#> term estimate std.error statistic p.value conf.low conf.high
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 (Intercept) 19.7 8.12 2.43 0.0152 8.56 44.3
#> 2 cyl 0.488 1.07 0.455 0.649 -1.53 3.12
#> 3 hp 0.0326 0.0189 1.73 0.0840 0.00332 0.0884
#> 4 wt -9.15 4.15 -2.20 0.0276 -21.4 -3.48
augment(mod_logmfx)
#> # A tibble: 32 × 11
#> .rownames am cyl hp wt .fitted .resid .hat .sigma .cooksd
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 Mazda RX4 1 6 110 2.62 2.24 0.449 0.278 0.595 1.42e-2
#> 2 Mazda RX… 1 6 110 2.88 -0.0912 1.22 0.352 0.529 2.30e-1
#> 3 Datsun 7… 1 4 93 2.32 3.46 0.249 0.0960 0.602 9.26e-4
#> 4 Hornet 4… 0 6 110 3.22 -3.20 -0.282 0.0945 0.601 1.17e-3
#> 5 Hornet S… 0 8 175 3.44 -2.17 -0.466 0.220 0.595 1.03e-2
#> 6 Valiant 0 6 105 3.46 -5.61 -0.0856 0.0221 0.604 2.12e-5
#> 7 Duster 3… 0 8 245 3.57 -1.07 -0.766 0.337 0.576 6.55e-2
#> 8 Merc 240D 0 4 62 3.19 -5.51 -0.0897 0.0376 0.603 4.10e-5
#> 9 Merc 230 0 4 95 3.15 -4.07 -0.184 0.122 0.603 6.76e-4
#> 10 Merc 280 0 6 123 3.44 -4.84 -0.126 0.0375 0.603 8.02e-5
#> # ℹ 22 more rows
#> # ℹ 1 more variable: .std.resid <dbl>
glance(mod_logmfx)
#> # A tibble: 1 × 8
#> null.deviance df.null logLik AIC BIC deviance df.residual nobs
#> <dbl> <int> <dbl> <dbl> <dbl> <dbl> <int> <int>
#> 1 43.2 31 -4.92 17.8 23.7 9.84 28 32
# another example, this time using probit regression
mod_probmfx <- probitmfx(am ~ cyl + hp + wt, atmean = TRUE, data = mtcars)
#> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
tidy(mod_probmfx, conf.int = TRUE)
#> # A tibble: 3 × 8
#> term atmean estimate std.error statistic p.value conf.low conf.high
#> <chr> <lgl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 cyl TRUE 0.0616 0.112 0.548 0.583 -0.169 0.292
#> 2 hp TRUE 0.00383 0.00282 1.36 0.174 -0.00194 0.00960
#> 3 wt TRUE -1.06 0.594 -1.78 0.0753 -2.27 0.160
augment(mod_probmfx)
#> # A tibble: 32 × 11
#> .rownames am cyl hp wt .fitted .resid .hat .sigma .cooksd
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 Mazda RX4 1 6 110 2.62 1.21 0.490 0.308 0.585 2.05e-2
#> 2 Mazda RX… 1 6 110 2.88 -0.129 1.27 0.249 0.526 1.36e-1
#> 3 Datsun 7… 1 4 93 2.32 1.85 0.256 0.134 0.594 1.48e-3
#> 4 Hornet 4… 0 6 110 3.22 -1.92 -0.237 0.116 0.594 1.05e-3
#> 5 Hornet S… 0 8 175 3.44 -1.25 -0.474 0.236 0.587 1.20e-2
#> 6 Valiant 0 6 105 3.46 -3.30 -0.0312 0.0111 0.596 1.39e-6
#> 7 Duster 3… 0 8 245 3.57 -0.595 -0.804 0.285 0.567 5.32e-2
#> 8 Merc 240D 0 4 62 3.19 -3.31 -0.0304 0.0179 0.596 2.15e-6
#> 9 Merc 230 0 4 95 3.15 -2.47 -0.116 0.130 0.596 2.89e-4
#> 10 Merc 280 0 6 123 3.44 -2.85 -0.0662 0.0315 0.596 1.84e-5
#> # ℹ 22 more rows
#> # ℹ 1 more variable: .std.resid <dbl>
glance(mod_probmfx)
#> # A tibble: 1 × 8
#> null.deviance df.null logLik AIC BIC deviance df.residual nobs
#> <dbl> <int> <dbl> <dbl> <dbl> <dbl> <int> <int>
#> 1 43.2 31 -4.80 17.6 23.5 9.59 28 32
相关用法
- R broom tidy.map 整理 a(n) Map对象
- R broom tidy.margins 整理 a(n) 边距对象
- R broom tidy.mlogit Logit模型的整理方法
- R broom tidy.mlm 整理 a(n) 传销对象
- R broom tidy.mjoint 整理 a(n) mjoint 对象
- R broom tidy.manova 整理 a(n) 方差分析对象
- R broom tidy.muhaz 整理 a(n) muhaz 对象
- R broom tidy.mediate 整理 a(n) 中介对象
- R broom tidy.mle2 整理 a(n) mle2 对象
- R broom tidy.multinom 多项逻辑回归模型的整理方法
- R broom tidy.robustbase.glmrob 整理 a(n) glmrob 对象
- R broom tidy.acf 整理 a(n) acf 对象
- R broom tidy.robustbase.lmrob 整理 a(n) lmrob 对象
- R broom tidy.biglm 整理 a(n) biglm 对象
- R broom tidy.garch 整理 a(n) garch 对象
- R broom tidy.rq 整理 a(n) rq 对象
- R broom tidy.kmeans 整理 a(n) kmeans 对象
- R broom tidy.betamfx 整理 a(n) betamfx 对象
- R broom tidy.anova 整理 a(n) anova 对象
- R broom tidy.btergm 整理 a(n) btergm 对象
- R broom tidy.cv.glmnet 整理 a(n) cv.glmnet 对象
- R broom tidy.roc 整理 a(n) roc 对象
- R broom tidy.poLCA 整理 a(n) poLCA 对象
- R broom tidy.emmGrid 整理 a(n) emmGrid 对象
- R broom tidy.Kendall 整理 a(n) Kendall 对象
注:本文由纯净天空筛选整理自等大神的英文原创作品 Tidy a(n) mfx object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。