Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

tests & build PyPI version Anaconda Version Anaconda Platforms Downloads DOI DOI Python Versions contributions welcome


❗️⚠️ Contributors wanted ⚠️❗️

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.

Additionally 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 lm() or glmer() in R.

For example:

# 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

# Access model attributes

# 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!


Installing via Anaconda is the preferred installation method. Follow the directions here.


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.