Skip to content

ejolly/pymer4

Repository files navigation

Tests Build PyPI version Anaconda Version Anaconda Platforms Downloads DOI DOI Python Versions contributions welcome

Pymer4

❗️⚠️ 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
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

Documentation

Check out the documentation site for detailed tutorial examples, API documentation, and installation instructions!

Installation

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

Local build

conda create -n build python=3.8 pip conda-build
conda activate build
conda-build ./conda --python=3.8 -c https://conda.anaconda.org/conda-forge --output-folder ./conda/build --output ./conda/build
tarball=$(conda-build ./conda --python=3.8 --output | tail -1)
conda convert -p linux-64 -p win-64 $tarball -o ./conda/build

Local upload

# after
# conda install anaconda-client
# anaconda login

# pre-release
anaconda upload ./conda/build/**/pymer4*.tar.bz2 -l "pre-release"

# main
anaconda upload ./conda/build/**/pymer4*.tar.bz2 -l "main"

Contributing

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.

Contributors