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.
- 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
marginaleffectsfor marginal effects and predictions.
You can install the development version from GitHub:
# install.packages("devtools")
devtools::install_github("alfisankipan/mlmodels")(The package will soon be available on CRAN.)
- Getting Started
- Count Data Models
- Diagnostic Tools
- Fractional Response Outcomes
- Gamma and Lognormal Models
- Predictions and Marginal Effects
- Variance Estimators and Inference
library(mlmodels)
data("mroz")
fit <- ml_logit(inlf ~ age + I(age^2) + huswage + educ + unem,
data = mroz)
summary(fit, vcov.type = "robust")This package builds on the excellent maxLik package by Arne Henningsen and others for the underlying optimization engine.