Table of Contents

- What’s new
- v0.2.4 (April 2019)
- v0.2.3 (February 2019)
- v0.2.2 (December 2018)
- v0.2.1 (November 2018)
- v0.2.0 (November 2018)
- v0.1.10 (October 2018)
- v0.1.9 (October 2018)
- v0.1.8 (October 2018)
- v0.1.7 (September 2018)
- v0.1.6 (September 2018)
- v0.1.5 (August 2018)
- v0.1.4 (July 2018)
- v0.1.3 (June 2018)
- v0.1.2 (June 2018)
- v0.1.1 (April 2018)
- v0.1.0 (April 2018)

**Correlation**

- Added
`pingouin.distance_corr()`

(distance correlation) function. `pingouin.rm_corr()`

now requires at least 3 unique subjects (same behavior as the original R package).- The
`pingouin.pairwise_corr()`

is faster and returns the number of outlier if a robust correlation is used. - Added support for 2D level in the
`pingouin.pairwise_corr()`

. See Jupyter notebooks for examples. - Added support for partial correlation in the
`pingouin.pairwise_corr()`

function. - Greatly improved execution speed of
`pingouin.correlation.skipped()`

function. - Added default random state to compute the Min Covariance Determinant in the
`pingouin.correlation.skipped()`

function. - The default number of bootstrap samples for the
`pingouin.correlation.shepherd()`

function is now set to 200 (previously 2000) to increase computation speed. `pingouin.partial_corr()`

now automatically drops rows with missing values.

**Datasets**

- Renamed
`pingouin.read_dataset()`

and`pingouin.list_dataset()`

(before one needed to call these functions by calling pingouin.datasets)

**Pairwise T-tests and multi-comparisons**

- Added support for non-parametric pairwise tests in
`pingouin.pairwise_ttests()`

function. - Common language effect size (CLES) is now reported by default in
`pingouin.pairwise_ttests()`

function. - CLES is now implemented in the
`pingouin.compute_effsize()`

function. - Better code, doc and testing for the functions in multicomp.py.
- P-values adjustment methods now do not take into account NaN values (same behavior as the R function p.adjust)

**Plotting**

- Added
`pingouin.plot_paired()`

function.

**Regression**

- NaN are now automatically removed in
`pingouin.mediation_analysis()`

. - The
`pingouin.linear_regression()`

and`pingouin.logistic_regression()`

now fail if NaN / Inf are present in the target or predictors variables. The user must remove then before running these functions. - Added support for multiple parallel mediator in
`pingouin.mediation_analysis()`

. - Added support for covariates in
`pingouin.mediation_analysis()`

. - Added seed argument to
`pingouin.mediation_analysis()`

for reproducible results. `pingouin.mediation_analysis()`

now returns two-sided p-values computed with a permutation test.- Added
`pingouin.utils._perm_pval()`

to compute p-value from a permutation test.

**Bugs and tests**

- Travis and AppVeyor test for Python 3.5, 3.6 and 3.7.
- Better doctest & improved examples for many functions.
- Fixed bug with
`pingouin.mad()`

when axis was not 0.

**Correlation**

- shepherd now also returns the outlier vector (same behavior as skipped).
- The corr function returns the number of outliers for shepherd and skipped.
- Removed mahal function.

**Licensing**

- Pingouin is now released under the GNU General Public Licence 3.
- Added licenses files of external modules (qsturng and tabulate).

**Plotting**

- NaN are automatically removed in qqplot function

**Plotting**

- Started working on Pingouin’s plotting module
- Added Seaborn and Matplotlib to dependencies
- Added plot_skipped_corr function (PR from Nicolas Legrand)
- Added qqplot function (Quantile-Quantile plot)
- Added plot_blandaltman function (Bland-Altman plot)

**Power**

- Added power_corr, based on the R pwr package.
- Renamed anova_power and ttest_power to power_anova and power_ttest.
- Added power column to corr() and pairwise_corr()
- power_ttest function can now solve for sample size, alpha and d
- power_ttest2n for two-sample T-test with unequal n.
- power_anova can now solve for sample size, number of groups, alpha and eta

**Effect size**

- Separated compute_esci and compute_bootci
- Added corrected percentile method and normal approximation to bootstrap
- Fixed bootstrapping method

**ANOVA**

- Added Welch ANOVA
- Added Games-Howell post-hoc test for one-way ANOVA with unequal variances
- Pairwise T-tests now accepts two within or two between factors
- Fixed error in padjust correction in the pairwise_ttests function: correction was applied on all p-values at the same time.

**Correlation/Regression**

- Added linear_regression function.
- Added logistic_regression function.
- Added mediation_analysis function.
- Support for advanced indexing (product / combination) in pairwise_corr function.

**Documentation**

- Added Guidelines section with flow charts
- Renamed API section to Functions
- Major improvements to the documentation of several functions
- Added Gitter channel

**Bug**

- Fixed dataset names in MANIFEST.in (.csv files were not copy-pasted with pip)

**Circular**

- Added circ_vtest function

**Distribution**

- Added multivariate_normality function (Henze-Zirkler’s Multivariate Normality Test)
- Renamed functions test_normality, test_sphericity and test_homoscedasticity to normality, sphericity and homoscedasticity to avoid bugs with pytest.
- Moved distribution tests from parametric.py to distribution.py

**Correlation**

- Added partial_corr function (partial correlation)

**Doc**

- Minor improvements in docs and binder notebooks

**ANOVA**

- Added support for multiple covariates in ANCOVA function (requires statsmodels).

**Documentation**

- Major re-organization in API category
- Added equations and references for effect sizes and Bayesian functions.

**Non-parametric**

- Added cochran function (Cochran Q test)

**ANOVA**

- Added rm_anova2 function (two-way repeated measures ANOVA).
- Added ancova function (Analysis of covariance)

**Correlations**

- Added intraclass_corr function (intraclass correlation).
- The rm_corr function uses the new ancova function instead of statsmodels.

**Datasets**

- Added ancova and icc datasets

**Effect size**

- Fixed bug in Cohen d: now use unbiased standard deviation (np.std(ddof=1)) for paired and one-sample Cohen d. Please make sure to use pingouin >= 0.1.7 to avoid any mistakes on the paired effect sizes.

**ANOVA**

- Added JNS method to compute sphericity.

**Bug**

- Added .csv datasets files to python site-packages folder
- Fixed error in test_sphericity when ddof == 0.

**ANOVA**

- rm_anova, friedman and mixed_anova now require a subject identifier. This avoids improper collapsing when multiple repeated measures factors are present in the dataset.
- rm_anova, friedman and mixed_anova now support the presence of other repeated measures factors in the dataset.
- Fixed error in test_sphericity
- Better output of ANOVA summary
- Added epsilon function

**Code**

- Added AppVeyor CI (Windows)
- Cleaned some old functions

**Correlation**

- Added repeated measures correlation (Bakdash and Marusich 2017).
- Added robust skipped correlation (Rousselet and Pernet 2012).
- Pairwise_corr function now automatically delete non-numeric columns.

**Dataset**

- Added pingouin.datasets module (read_dataset & list_dataset functions)
- Added datasets: bland1995, berens2009, dolan2009, mcclave1991

**Doc**

- Examples are now Jupyter Notebooks.
- Binder integration

**Misc**

- Added median absolute deviation (mad)
- Added mad median rule (Wilcox 2012)
- Added mahal function (equivalent of Matlab mahal function)

**Parametric**

- Added two-way ANOVA.
- Added pairwise_tukey function

**Installation**

- Fix bug with pip install caused by pingouin.external

**Circular statistics**

- Added circ_corrcc, circ_corrcl, circ_r, circ_rayleigh

**Documentation**

- Added several tutorials
- Improved doc of several functions

**Bayesian**

- T-test now reports the Bayes factor of the alternative hypothesis (BF10)
- Pearson correlation now reports the Bayes factor of the alternative hypothesis (BF10)

**Non-parametric**

- Kruskal-Wallis test
- Friedman test

**Correlations**

- Added Shepherd’s pi correlation (Schwarzkopf et al. 2012)
- Fixed bug in confidence intervals of correlation coefficients
- Parametric 95% CI are returned by default when calling corr

**Correlation**

- Pearson
- Spearman
- Kendall
- Percentage bend (robust)
- Pairwise correlations between all columns of a pandas dataframe

**Non-parametric**

- Mann-Whitney U
- Wilcoxon signed-rank
- Rank-biserial correlation effect size
- Common language effect size

**ANOVA**

- One-way
- One-way repeated measures
- Two-way split-plot (one between factor and one within factor)

**Miscellaneous statistical functions**

- T-tests
- Power of T-tests and one-way ANOVA

Initial release.

**Pairwise comparisons**

- FDR correction (BH / BY)
- Bonferroni
- Holm

**Effect sizes**:

- Cohen’s d (independent and repeated measures)
- Hedges g
- Glass delta
- Eta-square
- Odds-ratio
- Area Under the Curve

**Miscellaneous statistical functions**

- Geometric Z-score
- Normality, sphericity homoscedasticity and distributions tests

**Code**

- PEP8 and Flake8
- Tests and code coverage