复制R中的Stata边距

chl*_*111 1 replication regression r margins stata

我有一个回归模型,其中一组指标变量与回归量相互作用.在这种情况下,P值可以很好地用于模型选择.我知道Stata有一个叫做的命令margins,在这种情况下它确实有用.例:

margins, dydx(*)
Run Code Online (Sandbox Code Playgroud)

来自相关的Stata手册

描述

边距是根据先前拟合模型的预测计算的统计数据,其在一些协变量的固定值处并且对剩余的协变量进行平均或以其他方式积分.该margins命令估计协变量的指定值的响应边距,并将结果显示为表格.能力包括估计边际均值,最小二乘均值,平均和条件边际和部分效应(可以作为衍生物或弹性报告),平均和条件调整预测以及预测边际.

R中有没有类似的功能?

Tho*_*mas 6

我已经制作了一个名为Stata的边缘命令的R端口 - 直觉 - 边缘.行为是你可能期望的:

library("margins")
x <- lm(mpg ~ cyl * hp + wt, data = mtcars)
summary(margins(x))
##  factor     AME     SE       z      p   lower   upper
##     cyl  0.0381 0.5999  0.0636 0.9493 -1.1376  1.2139
##      hp -0.0463 0.0145 -3.1909 0.0014 -0.0748 -0.0179
##      wt -3.1198 0.6613 -4.7176 0.0000 -4.4160 -1.8236
Run Code Online (Sandbox Code Playgroud)

与Stata相比:

quietly reg mpg c.cyl##c.hp wt
margins, dydx(*)
------------------------------------------------------------------------------
             |            Delta-method
             |      dy/dx   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         cyl |   .0381376   .5998897     0.06   0.950    -1.192735     1.26901
          hp |  -.0463187    .014516    -3.19   0.004     -.076103   -.0165343
          wt |  -3.119815    .661322    -4.72   0.000    -4.476736   -1.762894
------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)