Skip to content

Releases: raphaelvallat/pingouin

v0.2.9

04 Sep 19:35
Compare
Choose a tag to compare

Minor release with mostly internal code refactoring.

See full changelog at: https://pingouin-stats.org/changelog.html#v0-2-9-september-2019

v0.2.8

22 Jul 00:32
Compare
Choose a tag to compare

v0.2.7

25 Jun 20:45
Compare
Choose a tag to compare

This is a minor release, mainly to fix dependency issues between scipy and statsmodels.

Dependencies

a. Pingouin now requires statsmodels>=0.10.0 (latest release June 2019) and is compatible with SciPy 1.3.0.

Enhancements

a. Added support for long-format dataframe in pingouin.sphericity and pingouin.epsilon.
b. Added support for two within-factors interaction in pingouin.sphericity and pingouin.epsilon (for the former, granted that at least one of them has no more than two levels.)

New functions

a. Added pingouin.power_rm_anova function.

v0.2.6

03 Jun 15:26
Compare
Choose a tag to compare

Bugfixes

  • Fixed ERROR in two-sided p-value for Wilcoxon test (pingouin.wilcoxon()), the p-values were accidentally squared, and therefore smaller. Make sure to always use the latest release of Pingouin.
  • pingouin.wilcoxon() now uses the continuity correction by default (the documentation was saying that the correction was applied but it was not applied in the code.)
  • The show_median argument of the pingouin.plot_shift() function was not working properly when the percentiles were different that the default parameters.

Dependencies

  • The current release of statsmodels (0.9.0) is not compatible with the newest release of Scipy (1.3.0). In order to avoid compatibility issues in the pingouin.ancova() and pingouin.anova() functions (which rely on statsmodels for certain cases), Pingouin will require SciPy < 1.3.0 until a new stable version of statsmodels is released.

New functions

  • Added pingouin.chi2_independence() tests.
  • Added pingouin.chi2_mcnemar() tests.
  • Added pingouin.power_chi2() function.
  • Added pingouin.bayesfactor_binom() function.

Enhancements

  • pingouin.linear_regression() now returns the residuals.
  • Completely rewrote pingouin.normality() function, which now support pandas DataFrame (wide & long format), multiple normality tests (scipy.stats.shapiro(), scipy.stats.normaltest()), and an automatic casewise removal of missing values.
  • Completely rewrote pingouin.homoscedasticity() function, which now support pandas DataFrame (wide & long format).
  • Faster and more accurate algorithm in pingouin.bayesfactor_pearson() (same algorithm as JASP).
  • Support for one-sided Bayes Factors in pingouin.bayesfactor_pearson().
  • Better handling of required parameters in pingouin.qqplot().
  • The epsilon value for the interaction term in pingouin.rm_anova() are now computed using the Greenhouse-Geisser method instead of the lower bound. A warning message has been added to the documentation to alert the user that the value might slightly differ than from R or JASP.

Contributors

  • Raphael Vallat
  • Arthur Paulino

v0.2.5

29 Apr 16:04
Compare
Choose a tag to compare

Major release with several bugfixes, new functions, and many internal improvements:

MAJOR BUG FIXES

  • Fixed error in p-values for one-sample one-sided T-test (pingouin.ttest()), the two-sided p-value was divided by 4 and not by 2, resulting in inaccurate (smaller) one-sided p-values.
  • Fixed global error for unbalanced two-way ANOVA (pingouin.anova()), the sums of squares were wrong, and as a consequence so were the F and p-values. In case of unbalanced design, Pingouin now computes a type II sums of squares via a call to the statsmodels package.
  • The epsilon factor for the interaction term in two-way repeated measures ANOVA (pingouin.rm_anova()) is now computed using the lower bound approach. This is more conservative than the Greenhouse-Geisser approach and therefore give (slightly) higher p-values. The reason for choosing this is that the Greenhouse-Geisser values for the interaction term differ than the ones returned by R and JASP. This will be hopefully fixed in future releases.

New functions

  • Added pingouin.multivariate_ttest() (Hotelling T-squared) test.
  • Added pingouin.cronbach_alpha() function.
  • Added pingouin.plot_shift() function.
  • Several functions of pandas can now be directly used as pandas.DataFrame methods.
  • Added pingouin.pcorr() method to compute the partial Pearson correlation matrix of a pandas.DataFrame (similar to the pcor function in the ppcor package).
  • The pingouin.partial_corr() now supports semi-partial correlation.

Enhancements

  • The pingouin.rm_corr() function now returns a pandas.DataFrame with the r-value, degrees of freedom, p-value, confidence intervals and power.
  • pingouin.compute_esci() now works for paired and one-sample Cohen d.
  • pingouin.bayesfactor_ttest() and pingouin.bayesfactor_pearson() now return a formatted str and not a float.
  • pingouin.pairwise_ttests() now returns the degrees of freedom (dof).
  • Better rounding of float in pingouin.pairwise_ttests().
  • Support for wide-format data in pingouin.rm_anova()
  • pingouin.ttest() now returns the confidence intervals around the T-values.

Missing values

  • pingouin.remove_na() and pingouin.remove_rm_na() are now external function documented in the API.
  • pingouin.remove_rm_na() now works with multiple within-factors.
  • pingouin.remove_na() now works with 2D arrays.
  • Removed the remove_na argument in pingouin.rm_anova() and pingouin.mixed_anova(), an automatic listwise deletion of missing values is applied (same behavior as JASP). Note that this was also the default behavior of Pingouin, but the user could also specify not to remove the missing values, which most likely returned inaccurate results.
  • The pingouin.ancova() function now applies an automatic listwise deletion of missing values.
  • Added remove_na argument (default = False) in pingouin.linear_regression() and pingouin.logistic_regression() functions
  • Missing values are automatically removed in the pingouin.anova() function.

Contributors

  • Raphael Vallat
  • Nicolas Legrand

v0.2.4

05 Apr 23:33
Compare
Choose a tag to compare

Major release with several new functions as well as many internal improvements.

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.

v0.2.3

12 Feb 19:58
Compare
Choose a tag to compare

v0.2.2

15 Dec 21:30
Compare
Choose a tag to compare

v0.2.1

20 Nov 00:14
Compare
Choose a tag to compare

MINOR:

  • JOSS paper citation
  • Better confidence intervals

See full changelog:
https://raphaelvallat.github.io/pingouin/build/html/changelog.html#v0-2-1-november-2018

v0.2.0

19 Nov 16:56
Compare
Choose a tag to compare

MAJOR changes in code and documentation, see full changelog here: https://raphaelvallat.github.io/pingouin/build/html/changelog.html#v0-2-0-november-2018