在Logit模型中使用R中margins函数的“ at”参数

问题描述

我希望能够分析logit模型中连续变量和二进制变量的边际效应。我希望R提供hp的独立边际效应的平均值(在此示例中为200),同时还找到vs变量的边际效应等于1。我希望输出表还包括SE,p值和z得分。我在使用表时遇到麻烦,当我让它运行时,它不会独立计算两个变量。这是下面的MRE。谢谢!

mod2 <- glm(am ~ hp + factor(vs),data=mtcars,family=binomial)

margins(mod2)
#> Average marginal effects
#> glm(formula = am ~ hp + factor(vs),family = binomial,data = mtcars)
#>        hp      vs1
#>  -0.00203 -0.03154

#code where I am trying to evaluate at the desired values. 
margins(mod2,at=list(hp=200,vs=1))

解决方法

这是因为您已将vs更改为一个因子。 考虑以下

library(margins)
mod3 <- glm(am ~ hp + vs,data=mtcars,family=binomial)
margins(mod3,at=list(hp=200,vs=1))

# Average marginal effects at specified values
# glm(formula = am ~ hp + vs,family = binomial,data = mtcars)
# 
#  at(hp) at(vs)        hp       vs
#     200      1 -0.001783 -0.02803

这里没有真正的理由将vs变成一个因素;这是二分法。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...