{
"cells": [
{
"cell_type": "markdown",
"source": [
"# Parametric Tutorial\n",
"**NOTE** \n",
"This notebook is not meant to teach statistics, but only demo how to run the py50 functions. There are plenty of resources available online. I particularly found introductory [tutorials by DATAtab](https://datatab.net/tutorial/get-started) helpful. \n",
"\n",
"The following page will show examples of parametric tests using the Stats() and Plots() modules of py50. There are many plot features available for py50, but they will not all be demoed here. Instead, to see all the plots available, take a look at the [006_statistics_quickstart](https://github.com/tlint101/py50/blob/main/tutorials/006_statistics_quickstart.ipynb). As py50 is built on top of Pingouin, additional examples with ANOVA tests can be found [here](https://github.com/raphaelvallat/pingouin/blob/main/notebooks/01_ANOVA.ipynb). "
],
"metadata": {
"collapsed": false
},
"id": "89c1123316d9123d"
},
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:45.561491Z",
"start_time": "2026-05-21T04:12:44.735994Z"
}
},
"source": [
"from py50 import Stats, Plots\n",
"import pingouin as pg"
],
"outputs": [],
"execution_count": 1
},
{
"cell_type": "code",
"source": [
"## List Datasets available from Pingouin\n",
"# pg.list_dataset()\n",
"\n",
"# Read Dataset\n",
"df = pg.read_dataset('penguins')\n",
"\n",
"# Initialize Stats and Plots\n",
"stats = Stats(df)\n",
"plot = Plots(df)\n",
"\n",
"print('List of Group names in Dataset:', df['species'].unique())\n",
"stats.show()"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:45.595238Z",
"start_time": "2026-05-21T04:12:45.562783Z"
}
},
"id": "fd69c83e0c7c4b0e",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"List of Group names in Dataset: ['Adelie' 'Chinstrap' 'Gentoo']\n"
]
},
{
"data": {
"text/plain": [
" species island bill_length_mm bill_depth_mm flipper_length_mm \\\n",
"0 Adelie Biscoe 37.8 18.3 174.0 \n",
"1 Adelie Biscoe 37.7 18.7 180.0 \n",
"2 Adelie Biscoe 35.9 19.2 189.0 \n",
"3 Adelie Biscoe 38.2 18.1 185.0 \n",
"4 Adelie Biscoe 38.8 17.2 180.0 \n",
"\n",
" body_mass_g sex \n",
"0 3400.0 female \n",
"1 3600.0 male \n",
"2 3800.0 female \n",
"3 3950.0 male \n",
"4 3800.0 male "
],
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
species
\n",
"
island
\n",
"
bill_length_mm
\n",
"
bill_depth_mm
\n",
"
flipper_length_mm
\n",
"
body_mass_g
\n",
"
sex
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Adelie
\n",
"
Biscoe
\n",
"
37.8
\n",
"
18.3
\n",
"
174.0
\n",
"
3400.0
\n",
"
female
\n",
"
\n",
"
\n",
"
1
\n",
"
Adelie
\n",
"
Biscoe
\n",
"
37.7
\n",
"
18.7
\n",
"
180.0
\n",
"
3600.0
\n",
"
male
\n",
"
\n",
"
\n",
"
2
\n",
"
Adelie
\n",
"
Biscoe
\n",
"
35.9
\n",
"
19.2
\n",
"
189.0
\n",
"
3800.0
\n",
"
female
\n",
"
\n",
"
\n",
"
3
\n",
"
Adelie
\n",
"
Biscoe
\n",
"
38.2
\n",
"
18.1
\n",
"
185.0
\n",
"
3950.0
\n",
"
male
\n",
"
\n",
"
\n",
"
4
\n",
"
Adelie
\n",
"
Biscoe
\n",
"
38.8
\n",
"
17.2
\n",
"
180.0
\n",
"
3800.0
\n",
"
male
\n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 2
},
{
"cell_type": "markdown",
"source": [
"## Data Distribution\n",
"The data distribution is important to determine patterns that may show up in the dataset. For example, it can also tell you how often a value may occur, the shape of the data, variability of a value, etc. \n",
"\n",
"py50 includes two tests that can help analyze the dataset. \n",
"- Normality. This will test if the dataset follows normal distribution - i.e. a bell-shape curve.\n",
"- Homoscedasticity. This will test for the \"spread\" or consistency of the dataset along a regression model. "
],
"metadata": {
"collapsed": false
},
"id": "6a54ab3a4a9ff776"
},
{
"cell_type": "code",
"source": [
"# Test for normality\n",
"stats.get_normality(value_col='body_mass_g', group_col='species').round(3)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:45.678651Z",
"start_time": "2026-05-21T04:12:45.650920Z"
}
},
"id": "45cf4ebadee59202",
"outputs": [
{
"data": {
"text/plain": [
" W pval normal\n",
"species \n",
"Adelie 0.981 0.032 False\n",
"Chinstrap 0.984 0.561 True\n",
"Gentoo 0.986 0.234 True"
],
"text/html": [
"
"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 4
},
{
"cell_type": "markdown",
"source": [
"## ANOVA\n",
"Several tests, parametric and non-parametric, are available in py50. The functions use the \"get_x\" format, where x is the name of said test. Here, the One-Way ANOVA script will be demoed. The final table will be a Pandas.DataFrame object. "
],
"metadata": {
"collapsed": false
},
"id": "1225371f424832b6"
},
{
"cell_type": "code",
"source": [
"anova = stats.get_anova(value_col='body_mass_g', group_col='species')\n",
"anova"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:46.247365Z",
"start_time": "2026-05-21T04:12:46.215274Z"
}
},
"id": "42b90441e1a9435c",
"outputs": [
{
"data": {
"text/plain": [
" Source ddof1 ddof2 F p_unc np2 significance\n",
"0 species 2 339 343.626275 2.892368e-82 0.669672 ****"
],
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Source
\n",
"
ddof1
\n",
"
ddof2
\n",
"
F
\n",
"
p_unc
\n",
"
np2
\n",
"
significance
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
species
\n",
"
2
\n",
"
339
\n",
"
343.626275
\n",
"
2.892368e-82
\n",
"
0.669672
\n",
"
****
\n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 5
},
{
"cell_type": "markdown",
"source": [
"## Tukey\n",
"\n",
"py50 comes with several post-hoc tests. Again, this can be called using the same 'get_x' phrase. As the above ANOVA test show significance between the Hair color group, a Tukey test will be performed. "
],
"metadata": {
"collapsed": false
},
"id": "44b16c88076ddad3"
},
{
"cell_type": "code",
"source": [
"tukey = stats.get_tukey(value_col='body_mass_g', group_col='species').round(4)\n",
"tukey"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:46.872106Z",
"start_time": "2026-05-21T04:12:46.829246Z"
}
},
"id": "b7276b2e7a036ab7",
"outputs": [
{
"data": {
"text/plain": [
" A B mean_A mean_B diff se T \\\n",
"0 Adelie Chinstrap 3700.6623 3733.0882 -32.426 67.5117 -0.4803 \n",
"1 Adelie Gentoo 3700.6623 5076.0163 -1375.354 56.1480 -24.4952 \n",
"2 Chinstrap Gentoo 3733.0882 5076.0163 -1342.928 69.8569 -19.2240 \n",
"\n",
" p_tukey hedges significance \n",
"0 0.8807 -0.0739 n.s. \n",
"1 0.0000 -2.8602 **** \n",
"2 0.0000 -2.8753 **** "
],
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
A
\n",
"
B
\n",
"
mean_A
\n",
"
mean_B
\n",
"
diff
\n",
"
se
\n",
"
T
\n",
"
p_tukey
\n",
"
hedges
\n",
"
significance
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Adelie
\n",
"
Chinstrap
\n",
"
3700.6623
\n",
"
3733.0882
\n",
"
-32.426
\n",
"
67.5117
\n",
"
-0.4803
\n",
"
0.8807
\n",
"
-0.0739
\n",
"
n.s.
\n",
"
\n",
"
\n",
"
1
\n",
"
Adelie
\n",
"
Gentoo
\n",
"
3700.6623
\n",
"
5076.0163
\n",
"
-1375.354
\n",
"
56.1480
\n",
"
-24.4952
\n",
"
0.0000
\n",
"
-2.8602
\n",
"
****
\n",
"
\n",
"
\n",
"
2
\n",
"
Chinstrap
\n",
"
Gentoo
\n",
"
3733.0882
\n",
"
5076.0163
\n",
"
-1342.928
\n",
"
69.8569
\n",
"
-19.2240
\n",
"
0.0000
\n",
"
-2.8753
\n",
"
****
\n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 6
},
{
"cell_type": "markdown",
"source": [
"The tukey results can be plotted as follows:\n",
"\n",
"The parameters for all plots in py50 are created to be as similar as possible. For each plot, there is also an option to \"return_df\". This parameter will output the calculated dataframe that was used to create the plot. Users can use this to compare to the plot generated using the Stats() module to check for any inconsistencies. "
],
"metadata": {
"collapsed": false
},
"id": "4b376c1151dd92d"
},
{
"cell_type": "code",
"source": [
"title = 'Tukey Results Bar Plot'\n",
"\n",
"plot.barplot(test='tukey', value_col='body_mass_g', group_col='species', palette='RdYlGn', title=title, fontsize=30,\n",
" return_df=True)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:47.064450Z",
"start_time": "2026-05-21T04:12:46.916616Z"
}
},
"id": "3d3385061a012bae",
"outputs": [
{
"data": {
"text/plain": [
"( A B mean_A mean_B diff se \\\n",
" 0 Adelie Chinstrap 3700.662252 3733.088235 -32.425984 67.511684 \n",
" 1 Adelie Gentoo 3700.662252 5076.016260 -1375.354009 56.147971 \n",
" 2 Chinstrap Gentoo 3733.088235 5076.016260 -1342.928025 69.856928 \n",
" \n",
" T p_tukey hedges significance \n",
" 0 -0.480302 8.806666e-01 -0.073946 n.s. \n",
" 1 -24.495169 1.443290e-14 -2.860201 **** \n",
" 2 -19.223978 1.443290e-14 -2.875327 **** ,\n",
" )"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"
"
],
"image/png": "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5s329NNPu7+6nSZNGve3UKFCdu7cObvuuuvslltusS1btrj7KcipPHfu3LZz505r27atq+XLmzdvuF8OkChoigUAJNmF55s3b+5q24oXL27XX3+9FSlSxPr37++aYk+fPu3up3DXp08fq1Onjmt+VfgT1eRVq1bNatasaTly5AjzqwESR6oo1VsjxMmTJ61ChQq2Zs0ay5IlC+8OAABIFrmEplgAAACfINgBAAD4BMEOAADAJwh2AAAAPkGwAwAA8AmCHQAAgE+ENdhpqRctB1OpUiWrXr26jR492s0aLppsslWrVlamTBlr0aKFm5wy2OLFi92s4yrv2rWrHTt2LFCmfbz22mtWtWpVq1y5so0YMcIiIyMT/fUBAACkmAmKX3rpJbdMzNSpU+3vv/+25557zs0Ofv/991vnzp3tvvvus1deecXmzp1rXbp0sc8//9wyZ85sGzdutH79+rlQWKxYMRs2bJibnFILQ8v06dNd8Bs3bpydP3/eevbsadmzZ3eLQQNAYtGPzIiICN5w+IKWd9Ok0Ujawhbsjh8/bu+//74LYVoPUDp27GgbNmywtGnTWoYMGaxXr17uJFKI07qAS5YscbOQz549260X2KxZM/c41chpxvHdu3e7xZ9nzZrlFoeuWLGiK+/Ro4dbGJpgByAxQ50+c/RDFPADtZBNmTKFcJfEha0p1ps9WU2lHtXSDR8+3IU7zbDs/TLQ3/Lly7tFnkXlXmiTPHnyuJo+bT948KDt37/fNe96tK+9e/faoUOHEvU1Aki5VFNHqIOf6DuWGuikL2w1dqpdy5cvny1atMgmTpzoFnNWbdyTTz5phw8fdusBBlNT6vbt2911BbRcuXJdVH7gwAH3WAku99YIVHn0xwFAQlu2bJllypSJNxrJktbkrV+/frgPA0k92J06dcp27dpl8+bNc7V0CmQDBgxwH346idKnTx9yf93WYAvRL4bYyr1fE8Hl3nXv8dFpe3CZ1mQDgPiizzWCHQBfBzv1o1OAGjVqlKu5k3379rmBEgULFrwohOm2Om6K+t/FVK4PzuAQp/t51yW2D1YNutBACwAAgOQsbH3scubM6YKXF+rklltucf3jcufObUeOHAm5v257zaixlWufKhOvSTb4uspjohG36vPnXb766qt4fKUAAAA+D3YaXXPmzBnbuXNnYNuOHTtc0FPZunXr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86oCZUzlOXPmdGWiJtn8+fMHrovKY6IwGL0GEAAAIEUEu0aNGrnRphqocMcdd7htmnNO04l4/dku55133gmZoFbzzolGsP7www/29ttvu+lSNHBCf9euXWtPPPGEu4/mrtPAjebNm7vbGiyhi7Yr2KlGUeVesNN1bYveLw8AAMBP4jyP3R9//BEITt988419+eWXVrx4cRfwrkS+fPlCbms6EylYsKAbCDFq1Cg3P13r1q1dTaD63Xn9+h566CFr27atlS1b1tUW6n6qOSxQoECgXEHRm2pF++rYsWNcXyoAAIB/g927775rQ4YMcRMBa/b/J5980tXgaQLhffv22TPPPHNNB6V9akCDBle89957dvvtt9vkyZPd5MSi5ls9/9ixY+3PP/+0O++804YOHRp4vGoOjx49at26dbM0adJYy5YtrX379td0TAAAAL4MdpqMWH3qtFyXApWaY7VNTajPPfdcnIKdVpgIVrp0aTc3XmzUDOs1xUanMKeVKHQBAABIKeI0j5361mnSX1mxYoVbs1XU9Pn333/H7xECAAAg4Wrsbr31Vje1SbZs2VzTq4LduXPn3OTEWuILAAAAySTY9e7d25599lnXv61NmzZuPVf1eVMfu4kTJ8b/UQIAACBhgl21atXccmB//fWX3XjjjW6blgVTn7bLrQ0LAACAJDbdyfHjx92qE5GRke625prTJMNbtmyxzp07x+cxAgAAIKGCnaYgUdOrJhj2JhAWXddoVoIdAABAMhkVq350WgVi48aNbjJhjYxdvHixm/akXr168X+UAAAASJhgd+jQIWvWrJlbX7VEiRK2fv16K1KkiPXt29fmz58fl10CAAAgHMFO05wcO3YsMPXJ1q1b3XWt06o57gCkLF53DIBzB0iGfey0ZqumPNEarTVq1LBevXq5mjs1yWqtV1yZqMhIS5U6TtkaKVxSO3fUv/bs2e0WGXU63IeSZEScCX0vIs78ZGnTZQrb8SRFqVNlsvTpbwv3YQC+Eqdg16NHD7v++uvtjz/+sHvuucdatGjh1nXNmjWrvfzyy/F/lD6lL+Zjn0+z88f2h/tQkpS/z5wLuX144Wt2KgPT6HjSZstj2ep1tKRGoS4qipVnPFHRQq7em6io/z+LAP53zvBGAEkj2Gmuum7dugVua31YXXD1FOrOHdnNWxfk3NkLIe/HuaN77Vz6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AEjxMmXKZPPnz7fvv//eVqxYYQsXLrS5c+da7969LwpQClyqQRMFt759+1q1atVC7pMlSxY7dOjQFb2v2of8+9//diEyWPbs2WM9Nv3NnTt3iv+3AxCKenwAKd66dets0qRJVrVqVevTp49rQlXNm0LdiRMnbM+ePYH3aNOmTYEm01tuucUOHDhgBQsWDFwmTpxo69evtwIFCliaNGls27ZtgccuX77cHnjggZD327ufBkt4+1AwHD58uOvfF9uxqb8eAERHsAOQ4mXMmNHGjx/vasYU4j755BM3otUbmarBEf/9739t6dKl9s4779jDDz/stnfo0MFmzpzpBlf8/vvvrllWAxwKFy7swlmzZs1s2LBhtnHjRhcIX3/9dRfQgul+alodNGiQGyX7yy+/WK9evVxTrvrUxXZsXrgEgGDMYwcAZvbhhx+60av79u1zAxW6d+9uOXLkcKNcX3zxRReu1FTauXNne+SRRwLvmUaxzpgxw44cOWJFihSxnj17BppmNbpVwW7ZsmWWLl06a9SokduXJiVWMPOmUdEAildffdWFQvW3q1SpkhtRq9q82I6tcePG/LsBuAjBDgBioRo0BbvguekAICmjKRYAAMAnCHYAAAA+QVMsAACAT1BjBwAA4BMEOwAAAJ8g2AEAAPgEwQ4AAMAnCHYAAAA+QbADAADwCYIdAACATxDsAAAAfIJgBwAAYP7w/wDN7eU0yYqGkAAAAABJRU5ErkJggg=="
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 7
},
{
"cell_type": "markdown",
"source": [
"## Welch ANOVA\n",
"\n",
"Welch ANOVA is used for when the Homoscedasticity is false. In other words, if the datasets does not look consistent. The get_welch_anova() function can be tested usign the same Penguin dataset used above. "
],
"metadata": {
"collapsed": false
},
"id": "c142ea06967aee30"
},
{
"cell_type": "code",
"source": [
"# welch = stats.get_welch_anova(data, value_col='body_mass_g', group_col='species').round(4)\n",
"welch = stats.get_welch_anova(value_col='body_mass_g', group_col='species')\n",
"welch"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:47.305406Z",
"start_time": "2026-05-21T04:12:47.288209Z"
}
},
"id": "5f36e4912b094887",
"outputs": [
{
"data": {
"text/plain": [
" Source ddof1 ddof2 F p_unc np2 significance\n",
"0 species 2 189.478413 317.572267 3.093701e-61 0.669672 ****"
],
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Source
\n",
"
ddof1
\n",
"
ddof2
\n",
"
F
\n",
"
p_unc
\n",
"
np2
\n",
"
significance
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
species
\n",
"
2
\n",
"
189.478413
\n",
"
317.572267
\n",
"
3.093701e-61
\n",
"
0.669672
\n",
"
****
\n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 8
},
{
"cell_type": "markdown",
"source": [
"## Games-Howell Post-Hoc Test\n",
"\n",
"Again, after the ANOVA test, a post-hoc test should be used to tell significance between groups. Games-Howell can be used to handle situations with inconsistent datasets - i.e. Homoscedasticity is false."
],
"metadata": {
"collapsed": false
},
"id": "24db12cd624cade0"
},
{
"cell_type": "code",
"source": [
"gameshowell = stats.get_gameshowell(value_col='body_mass_g', group_col='species')\n",
"gameshowell"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:47.582729Z",
"start_time": "2026-05-21T04:12:47.547650Z"
}
},
"id": "d72ecb30c0fd24f4",
"outputs": [
{
"data": {
"text/plain": [
" A B mean_A mean_B diff se \\\n",
"0 Adelie Chinstrap 3700.662252 3733.088235 -32.425984 59.706437 \n",
"1 Adelie Gentoo 3700.662252 5076.016260 -1375.354009 58.810929 \n",
"2 Chinstrap Gentoo 3733.088235 5076.016260 -1342.928025 65.102843 \n",
"\n",
" T df pval hedges significance \n",
"0 -0.543090 152.454796 0.850154 -0.073946 n.s. \n",
"1 -23.386028 249.642554 0.000000 -2.860201 **** \n",
"2 -20.627794 170.404362 0.000000 -2.875327 **** "
],
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
A
\n",
"
B
\n",
"
mean_A
\n",
"
mean_B
\n",
"
diff
\n",
"
se
\n",
"
T
\n",
"
df
\n",
"
pval
\n",
"
hedges
\n",
"
significance
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Adelie
\n",
"
Chinstrap
\n",
"
3700.662252
\n",
"
3733.088235
\n",
"
-32.425984
\n",
"
59.706437
\n",
"
-0.543090
\n",
"
152.454796
\n",
"
0.850154
\n",
"
-0.073946
\n",
"
n.s.
\n",
"
\n",
"
\n",
"
1
\n",
"
Adelie
\n",
"
Gentoo
\n",
"
3700.662252
\n",
"
5076.016260
\n",
"
-1375.354009
\n",
"
58.810929
\n",
"
-23.386028
\n",
"
249.642554
\n",
"
0.000000
\n",
"
-2.860201
\n",
"
****
\n",
"
\n",
"
\n",
"
2
\n",
"
Chinstrap
\n",
"
Gentoo
\n",
"
3733.088235
\n",
"
5076.016260
\n",
"
-1342.928025
\n",
"
65.102843
\n",
"
-20.627794
\n",
"
170.404362
\n",
"
0.000000
\n",
"
-2.875327
\n",
"
****
\n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 9
},
{
"cell_type": "markdown",
"source": "The post-hoc results can be plotted using py50. Her there are specific pairs denoted for plotting. This would remove the pairs that have no significance (n.s.). If the return_df=True, then the returned table will only contain the pairs annotated on the plot. ",
"metadata": {
"collapsed": false
},
"id": "3e75861c6b7dc5cb"
},
{
"cell_type": "code",
"source": [
"title = 'Games-Howell Results Bar Plot'\n",
"pairs = [('Gentoo', 'Chinstrap'), ('Adelie', 'Gentoo')]\n",
"\n",
"plot.barplot(test='gameshowell', value_col='body_mass_g', group_col='species', palette='RdYlGn', title=title,\n",
" fontsize=30, return_df=True, pairs=pairs)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:47.745538Z",
"start_time": "2026-05-21T04:12:47.623283Z"
}
},
"id": "213702e86ffbb96f",
"outputs": [
{
"data": {
"text/plain": [
"( A B mean_A mean_B diff se \\\n",
" 1 Chinstrap Gentoo 3733.088235 5076.01626 -1342.928025 65.102843 \n",
" 0 Adelie Gentoo 3700.662252 5076.01626 -1375.354009 58.810929 \n",
" \n",
" T df pval hedges significance \n",
" 1 -20.627794 170.404362 0.0 -2.875327 **** \n",
" 0 -23.386028 249.642554 0.0 -2.860201 **** ,\n",
" )"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"
"
],
"image/png": "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uNH69+9v3bt3t/fee89OnDhhffv2DTz29OnTXfAbP368jRs3zj7++GO3DAAAwM/CFuwyZcpkuXPnDpw++ugjV2nr2bOnffrpp5YxY0br3bu3FSlSxIU4dRhcsmSJu++sWbPsvvvus2bNmrkKnypyGuiwe/dut37mzJnWo0cPFwxVtdNjzp49O1wvFQAA4JpIFn3sjh8/bm+//bb985//tAwZMtiGDRusQoUKgU6COr/zzjtt/fr17rrWK7R58uXLZ/nz53fLDx48aPv377dKlSoF1uux9u7d66YxAQAA8KtkEezmzJnjJt1r2LChu3748GF3PVjOnDntwIED7rICWlzrdV8JXp8rVy537t0fAADAj8I+3YmaX+fNm2ePPfZYYNnp06dd5S6Yrp89e9ZdjoyMjHO91nnXg9eJd/+YtDx4neaLAQAASGnCHuw2bdrkmk8bN24cWKb+dTFDmK6rX96l1mfOnDkkxOl23mXR+thMmjTJDbQAAABIycIe7L799lvXX+6GG24ILMubN68dOXIk5Ha67jWvxrVegzC0TtQkW7BgwcBl0frYaMRtx44dL5rhGQAAICUJex87TV2igRHBNDfdunXrXDOt6Hzt2rVuubd+zZo1gdtrsIROWq5gp4EUwet1Wcti9svzqMrnHWWCo00AAICUKuzBbvv27Va0aNGQZRpEobnphg8fbr/88os7V787TXEiDz30kH344Yeub962bdvctCh16tSxQoUKBdZrguLVq1e70+jRo938eAAAAH4W9mCnJtRs2bKFLFPVTP3eVGlr3ry5m8Zk8uTJliVLFrdeExYPHTrUJkyY4EKcmnFHjhwZuH/nzp3dBMiawPiZZ56xpk2bWocOHa75awPgfw0aNHD9hD367Jo4cWLIbTSSX7eLSZ9Vao0AgMQSEe21dyKkj53mvlOwVMgEgJg0qbpaDL755hv3A3PXrl22Z88ey5Ejh6VJk8bNzzlkyBCbNm2aW7ZgwQKrX7++a1nQ3JufffaZ7dy502rWrOnOg3+cAkBCc0nYK3YAkBKVKVPGjdRXdxJ1+VBoU3eRVatWubCnY1mr/666iWhydd1Ov6PLlStnt956qzupL7EOqRhbNQ8AEoJgBwAJoGNbb9682Z5++ml3rutp06Z15zfffLOdO3fOHQrxlltusS1btrjbKchpvQZ5qUrXrl07V+XT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CntqZtX6iIgIt75x48aueXXgwIFurjvNZderV68wvyoAAIBUMnjiP//5T8j1woUL26xZs+K8fe3atd0pLl26dHEnAACA1CJZVuwAAABw5Qh2AAAAPkGwAwAA8AmCHQAAgE8Q7AAAAHyCYAcAAOATBDsAAACfINgBAAD4BMEOAADAJwh2AAAAPkGwAwAA8AmCHQAAgE8Q7AAAAHyCYAcAAOATBDsAAACfINgBAAD4BMEOAADAJwh2AAAAPkGwAwAA8AmCHQAAgE8Q7AAAAHyCYAcAAOATBDsAAACfINgBAAD4BMEOAADAJwh2AAAAPkGwAwAA8AmCHQAAgE8Q7AAAAHyCYAcAAOATBDsAAACfINgBAAD4BMEOAADAJwh2AAAAPkGwAwAA8AmCHQAAgE8Q7AAAAHyCYAcAAOATBDsAAACfINgBAAD4BMEOAADAJwh2AAAAPuHrYHfmzBnr16+fVaxY0e666y6bNm1auDcJAAAgyaQzHxs1apRt3rzZZsyYYfv27bM+ffpY/vz5rWHDhuHeNAAAgETn22B36tQpmzdvnr399ttWsmRJd9q+fbvNnj2bYAcAAHzJt02x27Zts/Pnz1v58uUDyypUqGAbNmywqKiosG4bAABAUvBtsDt8+LDdeOONliFDhsCyXLlyuX53x48fD+u2AQAAJAXfNsWePn06JNSJd/3s2bMhy3U9eNlff/3lzk+ePJnk23kmcw47nzV0e4BLicqc45rsm1fq7Nloi4qOCPdmIAVJExFt588lr335uogbLHsaPpNxZftMUn8me48fHR2deoNdxowZYw1wkilTppDlkyZNsvHjx1/0GLVr107irQQSaixvHQAkE/3t5WvyPH///bddf/31qTPY5c2b1/744w/Xzy5dunSB5lmFumzZsoXctmvXrtaxY8fAdfXB+/PPPy179uwWEUEFIhz060TBesWKFZY1a9awbANwtdiP4Rfsy+GlSp1CXZ48eS57W98GuzvuuMMFuvXr17t57GTNmjVWunRpS5MmzUVNtDGbbWOGP4SHQh3BDikd+zH8gn05fC5XqfP94InMmTNbs2bNbPDgwbZx40ZbtmyZm6C4ffv24d40AACAJOHbip307dvXBbtHH33U/cp4+umn7d577w33ZgEAACQJXwc7Ve1efvlld0LKoqbx7t27X9REDqQk7MfwC/bllCMi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"
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 10
},
{
"cell_type": "markdown",
"source": [
"## Repeated Measures\n",
"\n",
"Repeated measures is used to analyze within-subjects or within-groups factors. Can be used when the subjects are measured under different conditions or time points. Examples for the get_rm_anova() function uses the 'rm_anova' dataset from pingouin as follows:"
],
"metadata": {
"collapsed": false
},
"id": "1efb20e99c35d2a6"
},
{
"cell_type": "code",
"source": [
"repeated_m = pg.read_dataset('rm_anova')\n",
"repeated_m.dropna(subset=['Gender'], inplace=True)\n",
"\n",
"rm_stats = Stats(repeated_m)\n",
"rm_plots = Plots(repeated_m)\n",
"rm_stats.show()"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:48.335361Z",
"start_time": "2026-05-21T04:12:48.306358Z"
}
},
"id": "1e041f456070b179",
"outputs": [
{
"data": {
"text/plain": [
" Subject Gender Region Education DesireToKill Disgustingness \\\n",
"0 1 Female North some 10.0 High \n",
"1 1 Female North some 9.0 High \n",
"2 1 Female North some 6.0 Low \n",
"3 1 Female North some 6.0 Low \n",
"4 2 Female North advance 10.0 High \n",
"\n",
" Frighteningness \n",
"0 High \n",
"1 Low \n",
"2 High \n",
"3 Low \n",
"4 High "
],
"text/html": [
"
"
],
"image/png": "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AAAAZO2ZJ9KyQPH69eutbdu2GWsJAAAAsifYjRs3zoYNG5bqbSdPnrSxY8day5YtLS4u7txaBAAAgKwNdmPGjLHZs2dbv379LCEhIXH7unXrrHXr1jZ69Ghr3769zZ8/P2MtAQAAQPYEuwYNGtjUqVNtwYIF1rNnTzty5IgLc61atXITJubMmWO9e/e2ggULnluLAAAAkLWTJ6RmzZr2r3/9yx566CGrV6+emyjx+OOP24MPPmh586Y5IwIAACALpDuNXXzxxTZz5kwrX768XXLJJa4bllAHAACQwxYoTurRRx+15557zq1p16dPH8uXL1/ibddff33mthIAAACZu0Bxanbv3u0mTQRYoBgAACAHLVCcXeLj423o0KH21ltvWYECBVy3ryZuKDwCAADgHCZPpKRTjG3cuNGtY1e1alW76aabXADLLEOGDLFly5bZpEmT7NChQy7UVahQwe65555Mew4AAIBcHex+/vln69q1q23evNkFOs2O3bp1qwtdU6ZMsXLlyp1zw/bt22dz5851j3fNNde4bR07drSVK1cS7AAAADIr2A0cONBKlSrlQtd5553ntu3du9eeeOIJe/75523UqFF2rpYvX27FihWzunXrJm7r3LnzOT8uAACArzK0+NzSpUtdiAtCnZQsWdItUKzu2cywbds2q1ixos2bN8+aNm1qjRs3dgsiq9sXAAAAmVSxU6Dbv3//KdsPHDiQaWPsfvvtN9e9O2vWLDeBYteuXTZgwAArXLiw65JNbaKFLgHOWQsAAHKbDAW7P/zhD+6csVrHrkaNGm6bxr4NGjTImjVrljkNy5/fhbO//vWvrnIn27dvd4sjpxbsxo8fb7GxsZny3AAAAF4HO4WmTp06uYqZFif+9ddf3fcJCQnudi1Q3KZNG3vyySczpWFlypRx550NQp1oosaOHTtSvX+XLl2sQ4cOid8rFMbExGRKWwAAALwKdhrfdu+997pgFxUVZcOGDbOnn37atmzZ4r6vVKmSFSlSJNMapvPSHj16NHHmrWzatClZ0EtKbdAFAAAgt0rz5ImgMpdUiRIl3FIkV1xxRaaGuuCctDfffLP17dvXLY78ySef2IQJE1y4BAAAwDmOsdP6daqinY3Ws8sML730kg0ePDixUnjfffed9tRmAAAAuV26gp1O6XW2ql5mniu2ePHiNnz48Ex5LAAAAN+lK9i99tprFh0dnXWtAQAAQNYHO1Xi1MWqM04AAADAs8kTAAAAyIHBTmd/0Jg3AAAA5PCu2JYtWyb7/uDBgzZ//ny3zlzXrl3dmSeqVavm1rMDAABAiCt2Sa1bt86aNGlic+fOdedyPXTokL3//vvWvHlz+/zzzzO/lQAAAMiaYDdkyBC3ttwbb7xhBQoUSOyqbdeuHcuTAAAA5KRg980331iLFi1O2X7PPffYhg0bMqNdAAAAyMp17AJay05j61KOp/vqq69y5XIouw4cj3QTAPC3CAAZC3YPP/yw9evXz/785z+7ZVCWLl1qb775pk2bNs169uyZaw5rsWLFLKpAAXtt2d5INwXA/9HfpP42ASA3ylCwU5dr2bJlbdKkSVaoUCE3rq5q1aruvK7NmjWz3EKVy4GDBllcXFykm4JztGPHDps8ebJ17NjRypcvz/HMwRTqOEMOgNwqQ8Fu4sSJdscdd9iMGTMst9MHCB8i/lCoY8keAECumjwxbtw4O3bsWOa3BgAAANkb7FStGzt2rG3ZssXi4+Mz/uwAAACIbFfsxx9/bNu3b3cTJlLz/fffn2u7AAAAkB3BbtiwYRn5MQAAAIQt2NWtWzfzWwIAAIDsCXaNGze2OXPmWMmSJa1Ro0aWJ0+e0973ww8/PLdWAQAAIOuCXbdu3axo0aLu6+7du6f/mQAAABCOYNeyZctUv5ajR4/a2rVr3SLFxYsXz9wWAgAAIOuWO9mwYYO1bdvWnRv2wIED1qJFC/d9gwYN3OnFAAAAkEOC3cCBA+2iiy6yKlWquHF3Bw8etMWLF7tzx7744ouZ30oAAABkTbBbtWqVPfbYY+5UWgsWLLBbb73VSpcu7RYu3rRpU0YeEgAAAJEIdhpHt3v3bnfi9BUrVtjNN9+cuDBxqVKlzrVNAAAAyK517Fq1amWPPPKIRUVF2YUXXmj16tWzmTNn2vDhw+3RRx/NyEMCAAAgEsGuV69eVqNGDfvpp59c92u+fPmsQoUKNnLkSGvYsOG5tgkAAADZFexE4+ri4uLshx9+sBIlSljt2rWtWLFiGX04AAAARGKMndat69evnzu1WOvWrW3nzp3Wp08f69Spk+3fv/9c2wQAAIDsCnYjRoxwa9m9+eabVrBgwcSzUezdu9eGDBmSkYcEAABAJILd+++/b88884xdfvnlidv09eDBg+3jjz8+1zYBAAAgu4LdoUOHrHDhwqdsP3nypJ04cSIjDwkAAIBIBLtGjRq5GbCaPBHYtm2b64aNiYk51zYBAAAgu4LdgAEDLH/+/HbDDTfY4cOH7a677nKzZDU7tn///hl5SAAAAERiuZN9+/ZZy5Yt7aqrrnJj67Zu3Wr169e3iy+++FzbAwAAgOwIdkuWLLGhQ4fa+vXrLSEhIXF7njx57D//+Y9b8qROnToZbQsAAACyoyt28eLF9tBDD9kVV1xh06dPt6VLl9q3335ry5Yts6lTp7pqXYcOHezrr78+l/YAAAAgqyt2o0ePtvbt29sTTzyRbPt5553nxtrpoq/Hjh1rEyZMyGh7AABpELf3OMcJiLC4EP4dpjnYrVmzxq1TdyZt2rSxjh07Zka7AACp0KkbC0QVsK/e38PxAUKgQFSBUJ1SNc3B7siRI64idyYlS5a0PXt4swGArBIdHW2DBg5KttwUcp4dO3bY5MmTXTGkfPnykW4OzoFCnf4uc1yw02SJvHnPPCRPkyiSTqoAAGQ+fYiE6YMEGadQV6lSJQ4hIjMr9p133jljufHgwYOZ0SYAAABkZbCrUKGCKxufDSVlAACAkAe7hQsXZm1LAAAAkP2nFAMAAED4EOwAAAA8QbADAADwBMEOAADAEwQ7AAAATxDsAAAAPEGwAwAA8ATBDgAAwBM5Jth17tzZ+vTpE+lmAAAAhFaOCHZvv/22LVq0KNLNAAAACLXQB7t9+/bZ8OHDrUaNGpFuCgAAgB/nio2UF1980Zo3b26//PJLpJsCAAAQaqGu2C1ZssS+/PJL69q161nvGx8fb3FxcckuAAAAuUloK3ZHjx61Z5991gYMGGCFChU66/3Hjx9vsbGx2dI2AACAMAptsFNIu/rqq61+/fppun+XLl2sQ4cOid+rYhcTE5OFLQQAAAiX/GGeCbt7926rVatWYlervPfee/b111+fcv+oqCh3AQAAyK1CG+ymT59ux48fT/z+pZdecte9e/eOYKsAAADCK7TBrmLFism+L1q0qLuuXLlyhFoEAAAQbqGeFQsAAAAPKnYpDRs2LNJNAAAACDUqdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAIAnCHYAAACeINgBAAB4gmAHAADgCYIdAACAJwh2AAAAniDYAQAAeIJgBwAA4AmCHQAAgCcIdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAIAnCHYAAACeINgBAAB4gmAHAADgCYIdAACAJwh2AAAAniDYAQAAeIJgBwAA4AmCHQAAgCcIdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAIAnCHYAAACeINgBAAB4gmAHAADgCYIdAACAJwh2AAAAniDYAQAAeIJgBwAA4AmCHQAAgCcIdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAIAnCHYAAACeINgBAAB4gmAHAADgCYIdAACAJwh2AAAAniDYAQAAeIJgBwAA4AmCHQAAgCcIdgAAAJ4g2AEAAHiCYAcAAOCJUAe7nTt3Wo8ePaxu3bpWv359Gzp0qB09ejTSzQIAAAil/BZSCQkJLtSVKFHCZsyYYfv377enn37a8ubNa0899VSkmwcAABA6oa3Ybdq0yVasWOGqdJdeeqnVqVPHBb233nor0k0DAAAIpdAGuzJlytjEiROtdOnSybbHxcVFrE0AAABhFtquWHXBalxd4OTJk/bqq6/ajTfemOr94+Pj3SVAAAQAALlNaINdSiNGjLDvvvvO5syZk+rt48ePt9jY2GxvFwAAQFjkzymhbtq0afbyyy/bZZddlup9unTpYh06dEhWsYuJicnGVgIAAERW6IPd4MGDbebMmS7c3Xbbbae9X1RUlLsAAADkVqEOdupanTVrlo0cOdKaNm0a6eYAAACEWmiD3caNG23MmDHWuXNnq127tu3atSvZjFkAAADkkGD34Ycf2okTJ2zs2LHuktTatWsj1i4AAICwCm2wU6VOFwAAAOTwBYoBAACQPgQ7AAAATxDsAAAAPEGwAwAA8ATBDgAAwBMEOwAAAE8Q7AAAADxBsAMAAPAEwQ4AAMATBDsAAABPEOwAAAA8QbADAADwBMEOAADAEwQ7AAAATxDsAAAAPEGwAwAA8ATBDgAAwBMEOwAAAE8Q7AAAADxBsAMAAPAEwQ4AAMATBDsAAABPEOwAAAA8QbADAADwBMEOAADAEwQ7AAAATxDsAAAAPEGwAwAA8ATBDgAAwBMEOwAAAE8Q7AAAADxBsAMAAPAEwQ4AAMATBDsAAABPEOwAAAA8QbADAADwBMEOAADAEwQ7AAAATxDsAAAAPEGwAwAA8ATBDgAAwBMEOwAAAE8Q7AAAADxBsAMAAPAEwQ4AAMATBDsAAABPEOwAAAA8QbADAADwBMEOAADAEwQ7AAAATxDsAAAAPBHqYHf06FF7+umnrU6dOlavXj2bPHlypJsEAAAQWvktxIYPH26rV6+2adOm2fbt2+2pp56yChUqWNOmTSPdNAAAgNAJbbD77bff7PXXX7dXXnnFrrrqKndZv369zZgxg2AHAACQk7pi16xZY8ePH7datWolbqtdu7atXLnSTp48GdG2AQAAhFFoK3a7du2ykiVLWlRUVOK20qVLu3F3+/bts+jo6GT3j4+Pd5dAXFxctrbXd/p9HD582Hy1Y8eOZNe+Kly4sJUpUybSzQDOivccP/Cek/1CG+wUIpKGOgm+TxrgAuPHj7fY2Nhsa19uopDcv39/S0hIMN/5PkEnb968NmLECCtWrFikmwKcFu85/uA9J/uFNtgVLFjwlAAXfF+oUKFT7t+lSxfr0KFDsjeGmJiYbGip/xQCBg8e7HXFLrfQf8+EOoQd7zn+4D0n+4U22JUrV8727t3rxtnlz58/sTSvUFeiRIlT7q9qXsoKHzIP3XcAshPvOYBnkyeuvPJKF+hWrFiRuG358uVWo0YNV9oFAABAcnnDXL5t0aKFPffcc7Zq1SpbsGCBG//0wAMPRLppAAAAoRTarljp27evC3YPPvigG3PRvXt3a9KkSaSbBQAAEEqhDnaq2r344ovuAgAAgBzaFQsAAID0IdgBAAB4gmAHAADgCYIdAACAJwh2AAAAniDYAQAAeIJgBwAA4AmCHQAAgCdCvUDxuUhISHDXcXFxkW4KAABAhgVZJsg2uTLYHTp0yF3HxMREuikAAACZkm2KFy9+xvvkSUhL/MuBTp48ab/88osVLVrU8uTJE+nmIAf8N6R/AhYtWuTOSwwAvOcgLBTVFOrKli1refPmzZ0VO+34BRdcEOlmIIdRqCPYAeA9B2FztkpdgMkTAAAAniDYAQAAeIJgB5hZVFSUdevWzV0DQFbjPQdZxdvJEwAAALkNFTsAAABPEOwAAAA8QbCDdxo1amRvvPHGKdu1Tbf9+OOPdvnll7vrs1m2bJm7LwCcjd4r9J4BRJK369gBp1O+fHlbvHixRUdHc5AAAF4h2CHXyZcvn5UpUybSzQAAINPRFYtcJ2VX7N69e91SJ7Vq1bLGjRvbzJkzT+l+1bb69eu7+/Tt29fi4+Mj1HoAOdVHH31kLVu2tGuuucaaNWtm77//vts+depUa9WqVeL95s+f796Dtm3b5r7XqaSuvvpq27p1a8TajpyDYIdcr1evXrZnzx4X3gYMGGCjR48+5Zi89957NmnSJIuNjbV3333X5s6dm+uPG4C0W7JkiXXv3t2aN29u//73v61NmzbWs2dPW716tdWrV8/WrFljBw8edPf94osv3DnOv/rqq8TvNYSkcuXKHHKcFV2x8NKzzz5rgwcPTrbt+PHjp3TBbt682T777DNbsGCBXXTRRXbFFVe46p1+PuXjVa1a1S677DK76aab3JswAKTVjBkz7LbbbrP27du77/V+smrVKps8ebKNHDnSvTd9+eWX1rBhQxfkGjRo4IKdgqDeo9RjAKQFFTt4qUePHjZv3rxkF21Lae3atXb++ee7UBe49tprT7lfpUqVkp2Ima5YAOmxceNG1wWblIZ2aLv8/ve/t88//9x2797tLm3btk2s2KnaR7BDWlGxg5dKlSp1SreFtqWUP39+S8vJVzThIilO2AIgPQoWLHjKtpMnT7qLqDt24sSJVrNmTffPZZ06dVzo02XLli12ww03cMCRJlTskKtVq1bN9u/fnzhIWTTmBQAyk7peV65cmWzb119/7bbL7373O1u3bp0tWrTIhTr1JFx88cVuzG/t2rWtSJEi/EKQJlTskKvpTVX/KT/99NP2zDPP2K+//mqjRo2KdLMA5FAaN3f06NFk266//no3tq5du3Y2bdo0i4mJsf/973/2wQcfuElZUrJkSTfG9z//+Y9NmTLFbVOgmz17tj3xxBMR2RfkTAQ75HpDhw61/v37uzEt5cqVc8sOqEsEANLrpZdeOmWbljVRF+vw4cPtH//4h40YMcL9U/m3v/3NVeoCwezYYCyeKnezZs1ifB3SJU8Cg4WQix0+fNjNONMMtAIFCrht77zzjnvjXbhwYaSbBwBAujDGDpbbBzSrG1bjWDTOTmNe9LWWJQAAIKehYodcT2tHqYtES58UK1bM7rzzTrdwaFRUVK4/NgCAnIVgBwAA4Am6YgEAADxBsAMAAPAEwQ4AAMATBDsAAABPEOwAAAA8QbADEAqNGjWyyy+/3F10aqVatWrZPffcY5988knifXTbsmXLItbG+Ph4e+211xK/v//++92ZBAAgLFjuBEBogt2DDz5ozZo1s5MnT9r+/ftt3rx5NnXqVHeKt5tuusl27dpl5513XsTWGHzzzTddkAvOSrJv3z53xpKiRYtGpD0AkBLnigUQGsWLF7cyZcq4r3Xe3ieffNKFOZ3PVydHD26LlJRnYDz//PMj1hYASA1dsQBC7e6777Z169bZ1q1bk3XFLlmyxJo3b241atSwxo0bu5OlB/bu3WvdunVz3bm6bebMme5nRT8ffB3o06ePu8iBAwese/fu7gTs119/vfXu3dvi4uLcz/Xt29d++ukn9/M//vhjsq5Y/bwC6GOPPeZO+B4TE+MqjoEjR47YM888Y7Vr13YndX/99detevXq7nF00WPqZPG33HKL26cuXbq4imDSM6S0atXKnSD+j3/8o7333nuJt23fvt06duzo9lcnlR88eLAdO3bM3aaTyqtLW23S88bGxmbRbwpAGBDsAIRatWrV3PWGDRsSt504ccIFqKZNm9o777xjjz76qA0cODDxPr169bI9e/a4QDdgwAB3/t+0GjVqlKsS6mf/+c9/umA0ZswYF5p0XuELLrjAFi9ebOXLlz/lZ2fMmGFXXXWVvfXWW9akSRN79tln7eDBg+62IUOGuHMRT5o0yV5++WXXvaz9SGrcuHE2cuRIe/XVV+2bb76xKVOmuO1qj4Kegp0qlw899JALkgp7oiBXpEgRFyS1rwp9wVhAVT2vvPJK16bnn3/ePe+iRYsy8JsAkBPQFQsg9N2zcujQocRtCkuqZpUuXdouvPBCdylbtqzrqt28ebN99tlntmDBArvooovcRAxV7xSy0kIVOY2Z02MWLlzY/v73v7vtGtentuTLl++0XcKquj388MPua4VNBcP169e77Qpdr7zyil177bXu9n79+rmAllSPHj1cRU5UlVO4CwKjxhj+6U9/ct9XrlzZvv/+e5s2bZqrLKrNCpQVKlRwt02YMMFKlCiRuD+qWlasWNEdD4VF7RsAP1GxAxBq6gaVYsWKJRvbdu+997pw1LBhQxs0aJALXZpYsXbtWne7QkwgCFNp8cADD9hXX33lujQfeeQRF66qVKmSpp9Ner+gvcePH7dNmza5rlF1sQZUAUxJoSzpzwfdqfr5jz76yP1McFFVb8uWLe52BURV8tRmVSvVNRuEN1X6xo4da/Xq1XMVR83sjfRYRQBZh2AHINQU1OTSSy9Ntv25555z3Ytt27a1lStXumt1MebPn/+USQ5J5cmT55RtCl8BhSM9jip8qtKpK/epp55KU1s1QzYltUVtSm17Wn4+aJ8qeKr6BZe3337bdd3KnXfe6YLf448/7iqbqvypu1c6d+5sH3zwgaskbtu2zc081vg+AH4i2AEItblz57puxqQVOI0505g6VbhUVdN9brzxRrcMicbkaakUhZjA6tWrTwlPQSVQNHkhoOVVvv32W2vZsqXrhtWECE1qOF0oTItKlSq5503ajqRfn03VqlXd5BHtb3D58MMPXZVOFOJ+/fVXV8UcP368G3+oNh89etSN7VNA7dChg02fPt0F4KQTLwD4hWAHIDQ0dk6h7ZdffnGVOg32/+9//5s4YzWgLldVoV544QX74Ycf7IsvvnCTHDTLVCEo6HbUtk8//dRNiAio8leoUCFX7VL402SC7777LvH2n3/+2XXtrlixwnV1KgTpcUVj7hQatT1ple9sNGZPEx+0P6ou6rH1dVrDYrt27VwQVIDTcyvQaZKFxtQFXbVqs/ZXY/pUcVSbCxYs6LqVNblC91G3siZcBPsDwD8EOwChoaCmUNagQQNXYdJECFXQ6tatm+x+qkBppqqCjLohVaFq3bq1tWnTxt2uKptmiao6pS5bhaqgUqexawo66sq844473GPcd999iY+tSQ/XXXedqwRqOZXffvvNRowY4W5TVVDVMnWLavJCeqg7V5Mo2rdv75ZT0XOfqfs1KU18UBDVWTj0c3/7299c2NW+i/ZRE0m0/Ir2WRNJtLSKKAwePnzYHZ9OnTq5yRZdu3ZNV9sB5ByceQKAVxRiNCtW4TAITVoSReEsOGNEJGiWrsbvBWepWLVqlavEaQmUtIQ7AEgLljsB4BV1P6obVuPN7rrrLtu9e7db2+22226LaLu0MLAmOGgygyY4KGjqNGqEOgCZiYodAO9oHNnw4cPdOD11varLsmfPnhE7x6xo8WR1AatSp3Yo1CmABuv0AUBmINgBAAB4gskTAAAAniDYAQAAeIJgBwAA4AmCHQAAgCcIdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAIAnCHYAAADmh/8Hj8NBYzEPG+sAAAAASUVORK5CYII="
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 14
},
{
"cell_type": "markdown",
"source": [
"## Mixed ANOVA\n",
"Mixed ANOVA can be used to analyze data with mixed design - both within and between group factors. The function uses the py50 standard as seen in the above examples. The example here will use the 'mixed_anova' dataset from Pingouin.\n"
],
"metadata": {
"collapsed": false
},
"id": "4e28273ab914da32"
},
{
"cell_type": "code",
"source": [
"data = pg.read_dataset('mixed_anova')\n",
"mixed_stats = Stats(data)\n",
"mixed_plot = Plots(data)\n",
"\n",
"mixed_stats.show()"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:49.299898Z",
"start_time": "2026-05-21T04:12:49.279711Z"
}
},
"id": "8bf97ef742a1d944",
"outputs": [
{
"data": {
"text/plain": [
" Scores Time Group Subject\n",
"0 5.971435 August Control 0\n",
"1 4.309024 August Control 1\n",
"2 6.932707 August Control 2\n",
"3 5.187348 August Control 3\n",
"4 4.779411 August Control 4"
],
"text/html": [
"
"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 16
},
{
"cell_type": "markdown",
"source": [
"The guidelines found on [Pingouin](https://pingouin-stats.org/build/html/guidelines.html#id5) suggest pairwise_tests(). That can also be used. But depending on the dataset, it may be more prudent to use the tukey test. That is easy to use, as we have seen above. The Tukey test will be performed and the corresponding barplot() will be generated. "
],
"metadata": {
"collapsed": false
},
"id": "4252585cc643003a"
},
{
"cell_type": "code",
"source": [
"pairwise_test = mixed_stats.get_tukey(value_col='Scores', group_col='Group')\n",
"pairwise_test"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2026-05-21T04:12:49.886191Z",
"start_time": "2026-05-21T04:12:49.854718Z"
}
},
"id": "c08a58df20977302",
"outputs": [
{
"data": {
"text/plain": [
" A B mean_A mean_B diff se T \\\n",
"0 Control Meditation 5.567851 5.91618 -0.348328 0.152115 -2.289903 \n",
"\n",
" p_tukey hedges significance \n",
"0 0.0232 -0.339918 * "
],
"text/html": [
"