compare.margins

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<-as.data.frame(marginaleffects::avg_slopes(m1,variables="female",newdata=data.frame(minority=0,religious=3.6024,age=53.146)))
## Warning: The `female` variable is treated as a categorical (factor) variable, but
##   the original data is of class NULL. It is safer and faster to convert
##   such variables to factor before fitting the model and calling a
##   `marginaleffects` function.
##   
##   This warning appears once per session.
ma2<-as.data.frame(marginaleffects::avg_slopes(m1,variables="female",newdata=data.frame(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