Skip to content

ejolly/pymer4

Folders and files

NameName
Last commit message
Last commit date
Sep 8, 2023
Sep 8, 2023
Sep 8, 2023
Sep 8, 2023
Sep 7, 2023
Jul 27, 2018
Oct 23, 2024
Sep 8, 2023
Jul 28, 2018
Dec 12, 2017
Sep 8, 2023
Jul 28, 2018
Nov 26, 2018
Aug 10, 2018
Dec 9, 2022
Sep 7, 2023
Sep 7, 2023
Sep 7, 2023

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