Skip to contents

mlmodels provides a consistent and flexible framework for maximum likelihood estimation in R. It includes a wide range of models with a unified S3 interface, support for modeling scale parameters (heteroskedasticity), rich post-estimation tools, and excellent compatibility with the marginaleffects package.

Key Features

  • Consistent interface across models: ml_lm(), ml_logit(), ml_probit(), ml_poisson(), ml_negbin(), ml_gamma(), ml_beta(), etc.
  • Flexible modeling of the scale parameter (variance, dispersion, precision, or shape) alongside the mean.
  • Rich predict() method with many output types (response, mean, variance, probabilities, etc.).
  • Multiple variance-covariance estimators: OIM, OPG, robust, cluster-robust, bootstrap, and jackknife.
  • Comprehensive hypothesis testing: Wald, likelihood ratio, information matrix, Vuong, overdispersion, and goodness-of-fit tests.
  • Full compatibility with marginaleffects for marginal effects and predictions.

Installation

You can install the development version from GitHub:

# install.packages("devtools")
devtools::install_github("alfisankipan/mlmodels")

(The package will soon be available on CRAN.)

Quick Example

library(mlmodels)

data("mroz")

fit <- ml_logit(inlf ~ age + I(age^2) + huswage + educ + unem, 
                data = mroz)

summary(fit, vcov.type = "robust")

Acknowledgements

This package builds on the excellent maxLik package by Arne Henningsen and others for the underlying optimization engine.