{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Example Python Jupyter Notebook Online: Binder Tutorial\n", "This Jupyter Notebook is an example for the tutorial on [how to use Binder for reproducible research](https://www.marsja.se/how-to-use-binder-python-for-repoducible-research). It contains the code for creating some data visualizations using Python Seaborn. After that is done a repeated measures ANOVA using pingouin.\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
treatmentgenderpre.1pre.2pre.3pre.4pre.5post.1post.2post.3post.4post.5fup.1fup.2fup.3fup.4fup.5
1controlM124213253223244
2controlM445342235345641
3controlM565774575476976
4controlF547542235344534
5controlF346436786343643
\n", "
" ], "text/plain": [ " treatment gender pre.1 pre.2 pre.3 pre.4 pre.5 post.1 post.2 post.3 \\\n", "1 control M 1 2 4 2 1 3 2 5 \n", "2 control M 4 4 5 3 4 2 2 3 \n", "3 control M 5 6 5 7 7 4 5 7 \n", "4 control F 5 4 7 5 4 2 2 3 \n", "5 control F 3 4 6 4 3 6 7 8 \n", "\n", " post.4 post.5 fup.1 fup.2 fup.3 fup.4 fup.5 \n", "1 3 2 2 3 2 4 4 \n", "2 5 3 4 5 6 4 1 \n", "3 5 4 7 6 9 7 6 \n", "4 5 3 4 4 5 3 4 \n", "5 6 3 4 3 6 4 3 " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "import pandas as pd\n", "\n", "\n", "# Suppress warnings\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "# Getting the data\n", "data = \"https://vincentarelbundock.github.io/Rdatasets/csv/carData/OBrienKaiser.csv\"\n", "\n", "# Loading the data into a Pandas dataframe\n", "df = pd.read_csv(data, index_col=0)\n", "\n", "# Using Pandas head to check the first 5 rows of the dataframe\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idgendertreatmenthourphasevalue
01Mcontrol1pre1
11Mcontrol2pre2
21Mcontrol3pre4
31Mcontrol4pre2
41Mcontrol5pre1
\n", "
" ], "text/plain": [ " id gender treatment hour phase value\n", "0 1 M control 1 pre 1\n", "1 1 M control 2 pre 2\n", "2 1 M control 3 pre 4\n", "3 1 M control 4 pre 2\n", "4 1 M control 5 pre 1" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"id\"] = df.index\n", "df_long = pd.wide_to_long(df, [\"pre\", \"post\", \"fup\"], \n", " i=[\"id\", \"gender\", \"treatment\"], \n", " j='hour', sep=\".\").reset_index()\n", "\n", "df_long = pd.melt(df_long,id_vars=[\"id\", \"gender\", \"treatment\", \"hour\"], \n", " var_name='phase', value_name='value')\n", "\n", "df_long.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Box Plots in Python using Seaborn\n", "Time for some data visualization and we start by creating a box plot using Seaborn" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "# Change the size of the font\n", "sns.set(font_scale=1.2)\n", "\n", "g = sns.catplot(x=\"phase\", y=\"value\", kind=\"box\",\n", " hue=\"treatment\", data=df_long)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Line Plots using Seaborn\n", "Next, we create some simple lineplots." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Two-Way Mixed ANOVA in Python\n", "Lets analyze the data using a Two-Way Mixed ANOVA using the Python package Pingouin" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Source SS DF1 DF2 MS F p-unc np2 eps\n", "0 treatment 37.35 2 13 18.675 2.914 0.090042 0.310 -\n", "1 phase 33.50 2 26 16.750 23.626 0.000001 0.645 0.772\n", "2 Interaction 15.40 4 26 3.850 5.430 0.002578 0.455 -\n" ] } ], "source": [ "from pingouin import mixed_anova\n", "\n", "aov = mixed_anova(dv='value', between='treatment',\n", " within='phase', subject='id', data=df_long)\n", "\n", "print(aov)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.1" } }, "nbformat": 4, "nbformat_minor": 2 }