# 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 for`dabest.load()`

is no longer boolean, and now only accepts`"baseline"`

or`"sequential"`

as a string.

**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.19`matplotlib`

: 3.3`scipy`

: 1.5`pandas`

: 1.1`seaborn`

: 0.11`lqrt`

: 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 in`dabest`

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`

and`tick_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