Compares two marginal effects (MEMs or AMEs). Estimate of uncertainty is from a simulated draw from a normal distribution.
For example:
library(catregs)
data("essUK")
m1 <- glm(safe ~ religious + minority*female + age,data=essUK,family="binomial")
des<-margins.des(m1,expand.grid(minority=c(0,1),female=c(0,1)))
des## minority female religious age
## 1 0 0 3.602404 53.14563
## 2 1 0 3.602404 53.14563
## 3 0 1 3.602404 53.14563
## 4 1 1 3.602404 53.14563
ma1 <- suppressWarnings(as.data.frame(marginaleffects::avg_slopes(m1,
variables="female",newdata=marginaleffects::datagrid(minority=0,
religious=3.6024,age=53.146))))
ma2 <- suppressWarnings(as.data.frame(marginaleffects::avg_slopes(m1,
variables="female",newdata=marginaleffects::datagrid(minority=1,
religious=3.6024,age=53.146))))
cames <- rbind(ma2,ma1)
compare.margins(margins=cames$estimate,margins.ses=cames$std.error)## Difference p-value
## 1 0.1447181 0.0199