【问题标题】:Margins Package error using quadratic and interaction terms使用二次项和交互项的边距包错误
【发布时间】:2020-11-25 16:40:45
【问题描述】:

我有在 Stata 中使用 margins 命令的代码,我正在尝试使用在 herecran 上找到的“margins”包在 R 中复制它。

我不断收到错误:

marg1<-margins(reg2)  

名称(类)错误

一个最小的可重现示例如下所示:

install.packages(margins)
library(margins)
mod1 <- lm(log(mpg) ~ vs + cyl + hp + vs*hp + I(vs*hp*hp) + wt + I(hp*hp), data = mtcars)
(marg1 <- margins(mod1))
summary(marg1)

我需要 vs 是一个与二次项和正态交互项交互的虚拟变量。

有谁知道我做错了什么或者是否有办法解决这个问题?

【问题讨论】:

    标签: r margins estimation


    【解决方案1】:

    您的模型规格有点混乱。例如,vs*hp 引入了 3 个变量:i) vs、ii) hp 和 iii) 交互 vs 和 hp。结果, hp 在您提供的公式中出现了两次。您可以大量简化!例如试试这个(我认为这是你想要的):

    mtcars$hp2 = mtcars$hp^2
    mod1 <- lm(log(mpg) ~ cyl + wt + vs*hp + vs*hp2, data = mtcars)
    summary(mod1) # With this you can check that the model you specified is what you want
    (marg1 <- margins(mod1)) # The error disappeared. 
    summary(marg1)
    

    一般来说,我建议您在公式规范中避免使用 I(),因为如果处理不当,它通常会导致此类错误(尽管有时无法避免)。祝你好运!

    【讨论】:

    • 我想到了这个我的问题是在创建平方变量时是否正确计算了边际效应的导数。不过还是谢谢你的回复!
    • 不完全是,您的问题似乎是关于如何解决错误。如果你想讨论得到的汇总统计和在Stata中得到的有没有不同,把你在Stata中得到的结果分享一下,以便我们做个对比。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-09
    • 2017-08-08
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多