Releases: raphaelvallat/pingouin
v0.2.9
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
See full changelog at: https://pingouin-stats.org/changelog.html#v0-2-8-july-2019
v0.2.7
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
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()
andpingouin.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
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
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
See full changelog at: https://pingouin-stats.org/changelog.html
v0.2.2
See full changelog:
https://pingouin-stats.org/changelog.html#v0-2-2-december-2018
v0.2.1
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
MAJOR changes in code and documentation, see full changelog here: https://raphaelvallat.github.io/pingouin/build/html/changelog.html#v0-2-0-november-2018