Pymer4 is a statistics library for estimating various regression and multi-level models in Python. Love lme4 in R, but prefer to work in the scientific Python ecosystem? This package has got you covered!
pymer4 provides a clean interface that hides the back-and-forth code required when moving between R and Python. In other words, you can work completely in Python, never having to deal with R, but get (most) of lme4’s goodness. This is accomplished using rpy2 to interface between langauges.
pymer4 can fit various additional regression models with some bells, such as robust standard errors, and two-stage regression (summary statistics) models. See the features page for more information.
TL;DR this package is your new simple Pythonic drop-in replacement for
glmer() in R.
# Assuming you have a pandas dataframe in tidy/long format # with DV and IV columns for dependent/outcome vars and # independent/predictor vars model = Lmer('DV ~ IV1 + IV2 + (IV+IV2|Group)', data=dataframe) # Fit and print an R/statsmodels style summary # with t/z-tests, CIs, and p-values model.fit() # Access model attributes model.BIC model.residuals # Get fitted parameters model.coef # population parameters model.fixef # group/cluster estimates (BLUPs) model.ranef # group/cluster deviates
Check out the documentation site for detailed tutorial examples, API documentation, and installation instructions!
Contributions are always welcome!
If you are interested in contributing feel free to check out the open issues, development roadmap on Trello, or submit pull requests for additional features or bug fixes. If you do make a pull request, please do so by forking the development branch and taking note of the contribution guidelines.