使用 R 中边距函数的 "at" 参数用于 logit 模型

using "at" argument of margins function in R for logit model

我希望能够在 Logit 模型中分析连续变量和二元变量的边际效应。我希望 R 提供 hp 的独立边际效应的平均值(在本例中为 200),同时还找到 vs 变量等于 1 的边际效应。我希望输出 table 还包括 SE、p 值和 z 分数。我在使用 table 时遇到问题,当我将它设置为 运行 时,它不会独立评估这两个变量。下面是一个 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 变成一个因素;这是二分法。