Release Notes¶
v2023.02.14¶
This release introduces several new functions:
- Repeated measures: Augments the prior function for plotting (independent) multiple test groups versus a shared control (
"baseline"
); it can now do the same for repeated-measures experimental designs ("sequential"
). Thus, together, these two methods can be used to replace both flavors of the 1-way ANOVA with an estimation analysis. Deprecation notice: The
paired
argument fordabest.load()
is no longer boolean, and now only accepts"baseline"
or"sequential"
as a string.
- Repeated measures: Augments the prior function for plotting (independent) multiple test groups versus a shared control (
Proportional data: Generates proportional bar plots, proportional differences, and calculates Cohen’s h. Also enables plotting Sankey diagrams for paired binary data. This is the estimation equivalent to a bar chart with Fischer’s exact test.
The ∆∆ plot: Calculates the delta-delta (∆∆) for 2 × 2 experimental designs and plots the four groups with their relevant effect sizes. This design can be used as a replacement for the 2 × 2 ANOVA.
Mini-meta: Calculates and plots a weighted delta (∆) for meta-analysis of experimental replicates. Useful for summarizing data from multiple replicated experiments, for example by different scientists in the same lab, or the same scientist at different times. When the observed values are known (and share a common metric), this makes meta-analysis available as a routinely accessible tool.
Please read the updated tutorials if you wish to use the above functions:
v0.3.1¶
- This release updates the minimal Python version to 3.6 (as Python 3.5 is already an “end-of-life” release as of September 2020), and also updates the package requirements to:
numpy
: 0.19matplotlib
: 3.3scipy
: 1.5pandas
: 1.1seaborn
: 0.11lqrt
: 0.3
All users are strongly encouraged to update.
v0.3.0¶
This is a new major release that refactors the statistical test output. All users are strongly encouraged to update to this release.
- Main Changes:
the Lq-Likelihood Ratio-Type test results are now computed only when the user calls the lqrt property of the dabest_object.effect_size
EffectSizeDataFrame
object. This refactor was done to mitigate the lengthy computation time the test took. See Issues #94 and #91.The default hypothesis test reported by calling the dabest_object.effect_size
EffectSizeDataFrame
object is now the non-parametric two-sided permutation t-test. Conceptually, this hypothesis test mirrors the usage of the bootstrap (to obtain the 95% confidence intervals). Read more at Tutorial: Basics. See Issue #92 and PR #93.The minimum version of
numpy
is now v0.17, which has an updated method of generating random samples. The resampling code used indabest
has thus been updated as well.
v0.2.8¶
This release fixes minor bugs, and implements a new statistical test.
- Feature Additions:
Implement Lq-Likelihood-Ratio-Type Test in statistical output with PR #85; thanks to Adam Li (@adam2392).
- Bug-fixes:
Fix bugs in slopegraph and reference line keyword parsing with PR #86; thanks to DizietAsahi (DizietAsahi).
v0.2.7¶
- Bug-fixes:
Bug affecting display of Tufte gapped lines in Cumming plots if the supplied
pandas
DataFrame
was in ‘wide’ format, but did not have equal number of Ns in the groups. (Issue #79)
v0.2.6¶
- Feature additions:
It is now possible to specify a pre-determined
matplotlib
Axes
to create the estimation plot in. See Creating estimation plots in existing axes in the Tutorial: Controlling Plot Aesthetics (Pull request #73; thanks to Adam Nekimken (@anekimken).
- Bug-fixes:
Ensure all dependencies are installed along with DABEST. (Pull request #71; thanks to Matthew Edwards (@mje-nz).
Handle infinities in bootstraps during plotting. (Issue #72, Pull request #74)
v0.2.5¶
- Feature additions:
- Bug-fixes:
Bug affecting calculation of paired difference confidence intervals. (Issue #48 in ACCLAB/dabestr)
NaNs in unused/unrelated columns would result in null results (Issue #44)
v0.2.4¶
- This release fixes the following issues:
Misalignment of Gardner-Altman plots when the dataset loaded is wide, but has NaNs in a column. (Issue #40)
Misalignment of Hedges’ g Gardner Altman plots (Also Issue #40).
Add
groups_summaries_offset
argument for better control over gapped Tufte line plotting. The default offset is now set at 0.1 as well. (Issue #35
v0.2.3¶
This release fixes a bug that did not handle when the supplied x
was a pandas
Categorical
object, but the idx
did not include all the original categories.
v0.2.2¶
This release fixes a bug that has a mean difference or median difference of exactly 0. (Pull request #73; thanks to Mason Malone (@MasonM).
v0.2.1¶
This release fixes a bug that misplotted the gapped summary lines in Cumming plots when the x-variable was a pandas
Categorical
object.
v0.2.0¶
We have redesigned the interface from the ground up. This allows speed and flexibility to compute different effect sizes (including Cohen’s d, Hedges’ g, and Cliff’s delta). Statistical arguments are now parsed differently from graphical arguments.
In short, any code relying on v0.1.x will not work with v0.2.0, and must be upgraded.
Now, every analysis session begins with dabest.load()
.
1my_data = dabest.load(my_dataframe, idx=("Control", "Test"))
This creates a Dabest
object with effect sizes as instances.
1my_data.mean_diff
which prints out:
DABEST v0.2.0
=============
Good afternoon!
The current time is Mon Mar 4 17:03:29 2019.
The unpaired mean difference between Control 1 and Test 1 is 0.48 [95%CI 0.205, 0.774].
5000 bootstrap samples were taken; the confidence interval is bias-corrected and accelerated.
The p-value(s) reported are the likelihood(s) of observing the effect size(s),
if the null hypothesis of zero difference is true.
The following are valid effect sizes:
1my_data.mean_diff
2my_data.median_diff
3my_data.cohens_d
4my_data.hedges_g
5my_data.cliffs_delta
To produce an estimation plot, each effect size instance has a plot()
method.
1my_data.mean_diff.plot()
See the Tutorial: Basics and API for more details, including keyword options for the load()
and plot()
methods.
v0.1.7¶
The keyword cumming_vertical_spacing
has been added to tweak the vertical spacing between the rawdata swarm axes and the contrast axes in Cumming estimation plots.
v0.1.6¶
Several keywords have been added to allow more fine-grained control over a selection of plot elements.
swarm_dotsize
difference_dotsize
ci_linewidth
summary_linewidth
The new keyword context
allows you to set the plotting context as defined by seaborn’s plotting_context() .
Now, if paired=True
, you will need to supply an id_col
, which is a column in the DataFrame which specifies which sample the datapoint belongs to. See the Tutorial: Basics for more details.
v0.1.5¶
Fix bug that wasn’t updating the seaborn version upon setup and install.
v0.1.4¶
Update dependencies to
numpy 1.15
scipy 1.1
matplotlib 2.2
seaborn 0.9
Aesthetic changes
add
tick_length
andtick_pad
arguments to allow tweaking of the axes tick lengths, and padding of the tick labels, respectively.
v0.1.3¶
Update dependencies to
pandas v0.23
Bugfixes
fix bug that did not label
swarm_label
if raw data was in tidy formfix bug that did not dropnans for unpaired diff
v0.1.2¶
Update dependencies to
numpy v1.13
scipy v1.0
pandas v0.22
seaborn v0.8