我无法在R中复制Stata margins命令的特定用例:
margins var1, over(var2)
我一直在尝试使用marginsR中的包进行复制。
为了提供可重现的示例,我使用了mtcars数据集并将其从R导出到Stata中,因此我们在两个程序中都使用了相同的数据集:
R代码:
library(foreign)
library(margins)
write.dta(mtcars, “mtcars.dta")
Run Code Online (Sandbox Code Playgroud)
Stata代码:
use "mtcars.dta", clear
Run Code Online (Sandbox Code Playgroud)
在两个程序中创建示例线性回归模型
Stata代码:
quietly regress mpg cyl i.am c.wt##c.hp
Run Code Online (Sandbox Code Playgroud)
R代码:
x <- lm(mpg ~ cyl + factor(am) + hp * wt, data = mtcars)
Run Code Online (Sandbox Code Playgroud)
两个程序之间的模型输出(未显示)相同
比较模型中每个变量的平均边际效应表
Stata代码和输出:
margins, dydx(*)
Average marginal effects Number of obs = 32
Model VCE: OLS
Expression : Linear prediction, predict() dy/dx w.r.t. : cyl 1.am wt hp
------------------------------------------------------------------------------
| Delta-method
| dy/dx Std. Err. t P>|t| [95% …Run Code Online (Sandbox Code Playgroud)