This function begins by calling the predictions function to obtain a
grid of predictors, and adjusted predictions for each cell. The grid
includes all combinations of the categorical variables listed in the
variables and variables_grid arguments, or all combinations of the
categorical variables used to fit the model if variables_grid is NULL.
In the prediction grid, numeric variables are held at their means.
After constructing the grid and filling the grid with adjusted predictions,
marginalmeans computes marginal means for the variables listed in the
variables argument, by average across all categories in the grid.
marginalmeans can only compute standard errors for linear models, or for
predictions on the link scale, that is, with the type argument set to
"link".
The marginaleffects website compares the output of this function to the
popular emmeans package, which provides similar but more advanced
functionality: https://vincentarelbundock.github.io/marginaleffects/