{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# A brief tour of data wrangling for psychologists in python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## By using python for data analyses, you win:\n", "\n", "- A real programming language (i.e. more transferable skill) \n", "- Beauty, elegance, **readability**, in short the zen of python (ex?) \n", "- The ultimate glue/scripting language\n", "- Usually more straightforward to do non-statistical tasks in Python (than in R), e.g. fancy preprocessing, string processing, web scraping, file handling,...\n", "- Connections to many well-developed scientific libraries: numpy (matrix computations), scipy (scientific computing), scikit.image (image processing), scikit.learn (machine learning),...\n", "- Interactive notebooks! (because the [paper is getting obsolete](https://www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676/))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## You lose:\n", "\n", "- Switch cost (often considerable for non-professional programmers) when you program experiments in python anyway \n", "- Basic data analysis functionality that is not built-in but available through libraries (even more modular than R)\n", "- Specific advanced analysis techniques not available (others, such as machine learning tools are often better supported in python). This is rapidly improving, but still more in alpha/beta stage instead of finished/tested/documented libraries.\n", "- The large knowledge base/support (as a statistics tool) that R has (e.g. in the department)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# But lots of commonalities in the logic of data wrangling, plotting & analyzing\n", "\n", "No reason to choose, you can use both **depending on your needs or processing stage**. For example:\n", "\n", "- You wrote your experiment in python and want to do some preliminary preprocessing or (descriptive) analyses on single-subject data immediately after this individual is tested. You don't need to switch to R (the psychopy trialHandler gives you immediate access to a pandas dataframe of your data).\n", "- You want to automatize some operation on files such as datafiles, images, etc. (renaming, reformatting, resizing, or equating images on some feature) or on strings in files (eg your recorded data does not have the right formatting). This is easier in python.\n", "- Then you want to take advantage of tidyverse/ggplot2, you switch to R.\n", "- You want to do a (generalized) mixed model or Bayesian analysis, you stay in R.\n", "- You like to apply a fancy machine learning algorithm to your data, you switch to python again.\n", "\n", "All steps can be done in either language but effort/support differs depending on case.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# In python statistical functionality is not built-in..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Useful python packages for psychologists\n", "\n", "#### In order of importance:\n", "- [Jupyter notebooks](http://jupyter.org/) or better: [Jupyterlab](https://blog.jupyter.org/jupyterlab-is-ready-for-users-5a6f039b8906) (the Rstudio of python, with interactive \"shiny app\"-like functionality)\n", "- [pandas](https://pandas.pydata.org/): data handling & descriptive analyses, \n", "- Plotting: [matplotlib](https://matplotlib.org/) (~R base plotting), [seaborn](http://seaborn.pydata.org/index.html) (written by a cognitive neuroscientist) and/or [plotnine](http://plotnine.readthedocs.io/en/stable/) (ggplot2 alternative)\n", "- [statsmodels](https://www.statsmodels.org): statistical models (glm, t-tests,...)\n", "- Specialized analyses: [Psignifit](http://psignifit.sourceforge.net/) (psychometric function fitting), [Bambi](https://github.com/bambinos/bambi)/[Kabuki](https://github.com/hddm-devs/kabuki) (hierarchical bayesian models), [NIPY](http://nipy.org/), [MNE](http://martinos.org/mne/stable/index.html), [PyMVPA](http://www.pymvpa.org/) \n", "- [More libraries](https://www.marsja.se/best-python-libraries-psychology/)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Matplotlib Version: 2.2.3\n", "NumPy Version: 1.15.2\n", "('Pandas Version:', u'0.23.0')\n", "Python Version: 2.7.15+ (default, Oct 2 2018, 22:12:08) \n", "[GCC 8.2.0]\n", "Ran on 2018-11-14T18:39:29.291564\n", "{'commit_hash': u'a0d6ad545',\n", " 'commit_source': 'installation',\n", " 'default_encoding': 'UTF-8',\n", " 'ipython_path': '/usr/local/lib/python2.7/dist-packages/IPython',\n", " 'ipython_version': '5.7.0',\n", " 'os_name': 'posix',\n", " 'platform': 'Linux-4.18.0-10-generic-x86_64-with-Ubuntu-18.10-cosmic',\n", " 'sys_executable': '/usr/bin/python',\n", " 'sys_platform': 'linux2',\n", " 'sys_version': '2.7.15+ (default, Oct 2 2018, 22:12:08) \\n[GCC 8.2.0]'}\n", "matplotlib==2.2.3\n", "pandas==0.23.0\n", "seaborn==0.8.1\n", "statsmodels==0.8.0\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt # roughly ~base R plotting functionality\n", "import pandas as pd #roughly ~base R & tidyr functionality \n", "import seaborn as sns #roughly ~ggplot2 functionality\n", "import statsmodels.api as sm\n", "import statsmodels.formula.api as smf\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "#to make the plots appear inline, and saved in notebook:\n", "%matplotlib inline\n", "sns.set_context(\"talk\") # seaborn function to make plots according to purpose (talk, paper, poster, notebook)\n", "\n", "# We'll show people what versions we use\n", "import datetime\n", "now = datetime.datetime.now().isoformat()\n", "print('Ran on ' + now)\n", "import IPython\n", "print(IPython.sys_info())\n", "!pip freeze | grep -E 'seaborn|matplotlib|pandas|statsmodels'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Pandas for data wrangling\n", "![Image of panda](https://media.giphy.com/media/MpjZmG4eTvso8/giphy.gif)\n", "\n", "Multiple great tutorials already exist on how to handle, clean and shaping data into the right format(s) for your visualizations and analyses in python. I was helped by the [10 minutes to pandas tutorial](https://pandas.pydata.org/pandas-docs/stable/10min.html), this [brief overview](https://drive.google.com/open?id=0BwlD7q-DXkdWRUMyc19NdGNKRHc), I still regularly need to check this [cheat sheet](https://drive.google.com/open?id=0BwlD7q-DXkdWVkJQLVhGeHA3elk), and of course google/stackoverflow gives you access to the very bright and helpful python data science community. \n", "\n", "If you want a more thorough explanation of pandas, check this [book on python for data analysis](https://drive.google.com/open?id=0BwlD7q-DXkdWZHB6a0szLVN5WDQ) or this [Python Data Science Handbook](https://github.com/jakevdp/PythonDataScienceHandbook).\n", "\n", "Rather than rehash what's in those works, we will learn by example using the data from a Navon experiment with hierarchical letters probing precedence and interference of global processing. For more background and a description of the experiment, see [Chamberlain et al. (2017)](https://drive.google.com/open?id=0BwlD7q-DXkdWeEJaUWtwaTlPYU0):\n", "\n", "> \"The Navon task was a modified version of a hierarchical letter paradigm (Navon, 1977), designed to reduce the potential influence of factors confounding global processing such as spatial location and variation in shape characteristics. Participants were required to distinguish whether a global letter shape made up of local letters or the local letters themselves were vowels or consonants (Fig. 1). Vowel and consonant letter shapes were kept as comparable as possible. There were 5 consonant types (C, D, F, H, T) and 5 vowel types (A, E, I, O, U). Trial congruency was defined by the category type (vowel/consonant). In some congruent trials the exact letter identity matched between local and global stimulus levels, whilst in all other congruent trials only the category type matched. Presentation location of the test stimulus was randomized on a trial-by-trial basis, in order to eliminate the ability of participants to fixate on local spatial locations to determine global shape. The stimulus was presented in one of four corners of a 100x100-pixel square around central fixation. There were 10 practice trials followed by two blocks of 100 experimental trials.\n", "In alternate blocks whose order was randomized, participants were instructed to either focus on the global letter shape (global selective attention) or on the local letter shapes (local selective attention) and press the ‘J’ key if the letter was a vowel, and the ‘F’ key if the letter was a consonant. Each trial began with a fixation cross presented for 1000 ms. The fixation cross then disappeared and was followed by the experimental stimulus (a white letter\n", "shape on a black background). The stimuli were presented for 300 ms followed by a 4 s response window. Feedback was presented in the form of a coloured (red/green) fixation cross which also encouraged central fixation for the next trial. Both accuracy and reaction time(s) were recorded. Stimulus presentation and data collection were controlled using the Psychopy package (Peirce, 2007) and stimuli were created using the MATLAB toolbox GERT (v1.20) (Demeyer & Machilsen, 2012).\"\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reading in our data..." ] }, { "cell_type": "code", "execution_count": 153, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/sander/Bureaublad/Dropbox/exp/Reproducible_workflow_tutorial/PythoninPsy\n", "CO10 demographicNavonGlobCO10.csv demographicNavonLocCO10.csv\n", "CO12 demographicNavonGlobCO12.csv demographicNavonLocCO12.csv\n" ] } ], "source": [ "!pwd\n", "!ls data/ #we can use shell commands to see where the data is (ls=dir on windows)" ] }, { "cell_type": "code", "execution_count": 6, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
acc_meanacc_rawacc_stdagecondconditioncongruencecorrAnsexpversiongender...norderparticipantresp_rawrt_meanrt_rawrt_stdstimFilexPosyPos
011018.0selAttGlobCccongruent['f']NaNF...11812277'f'0,7463318110,7463318110Global_C_local_C.pngNaN-50
111018.0selAttGlobCccongruent['f']NaNF...14112277'f'0,6872731450,6872731450Global_C_local_D.pngNaN50
211018.0selAttGlobCccongruent['f']NaNF...14612277'f'0,7059670690,7059670690Global_C_local_F.pngNaN-50
311018.0selAttGlobCccongruent['f']NaNF...17812277'f'0,6617735030,6617735030Global_C_local_H.pngNaN-50
411018.0selAttGlobCccongruent['f']NaNF...17412277'f'0,7944073680,7944073680Global_C_local_T.pngNaN-50
\n", "

5 rows × 21 columns

\n", "
" ], "text/plain": [ " acc_mean acc_raw acc_std age cond condition congruence corrAns \\\n", "0 1 1 0 18.0 selAttGlob Cc congruent ['f'] \n", "1 1 1 0 18.0 selAttGlob Cc congruent ['f'] \n", "2 1 1 0 18.0 selAttGlob Cc congruent ['f'] \n", "3 1 1 0 18.0 selAttGlob Cc congruent ['f'] \n", "4 1 1 0 18.0 selAttGlob Cc congruent ['f'] \n", "\n", " expversion gender ... n order participant resp_raw rt_mean \\\n", "0 NaN F ... 1 18 12277 'f' 0,746331811 \n", "1 NaN F ... 1 41 12277 'f' 0,687273145 \n", "2 NaN F ... 1 46 12277 'f' 0,705967069 \n", "3 NaN F ... 1 78 12277 'f' 0,661773503 \n", "4 NaN F ... 1 74 12277 'f' 0,794407368 \n", "\n", " rt_raw rt_std stimFile xPos yPos \n", "0 0,746331811 0 Global_C_local_C.png NaN -50 \n", "1 0,687273145 0 Global_C_local_D.png NaN 50 \n", "2 0,705967069 0 Global_C_local_F.png NaN -50 \n", "3 0,661773503 0 Global_C_local_H.png NaN -50 \n", "4 0,794407368 0 Global_C_local_T.png NaN -50 \n", "\n", "[5 rows x 21 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import glob, os #to work with paths\n", "\n", "df = pd.DataFrame()\n", "folders = ['CO10','CO12'] # the raw data is in two different folders\n", "\n", "for folder in folders:\n", " if folder=='CO10': sep=';' #data in different folders use different field separators\n", " else: sep=','\n", " \n", " all_files = glob.glob(os.path.join('data', folder, \"*.csv\")) # get list of individual data files\n", " df_from_each_file = (pd.read_csv(f, sep=sep, index_col=0) for f in all_files)\n", " concatenated_df = pd.concat(df_from_each_file, ignore_index=True)\n", " df = df.append([df,concatenated_df])\n", "\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 7, "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", "
Subjectagegender
0757619.01.0
11071120.01.0
21077120.01.0
31120019.01.0
41121218.01.0
\n", "
" ], "text/plain": [ " Subject age gender\n", "0 7576 19.0 1.0\n", "1 10711 20.0 1.0\n", "2 10771 20.0 1.0\n", "3 11200 19.0 1.0\n", "4 11212 18.0 1.0" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# add demographics\n", "all_files = glob.glob(os.path.join('data', \"*.csv\"))\n", "df_from_each_file = (pd.read_csv(f, sep=sep, index_col=0) for f in all_files)\n", "\n", "dfdemo = (pd.concat(df_from_each_file, ignore_index=True, axis=0)\n", " .drop_duplicates(['Subject'], keep='first', inplace=False) # drop duplicate rows for subjects\n", " .sort_values('Subject') \n", " )\n", "\n", "dfdemo.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note the **method chaining** in the example above. Most pandas methods return a DataFrame so that another pandas method can be applied to the result (with the dot formulation). Using the [pandas-ply](https://github.com/coursera/pandas-ply) library you can also use dplyr style piping in pandas. Depending on how you value code readability, performance or debugging you'll prefer one or the other." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "18.0 145\n", "19.0 78\n", "20.0 24\n", "21.0 10\n", "23.0 4\n", "24.0 4\n", "40.0 1\n", "28.0 1\n", "17.0 1\n", "25.0 1\n", "41.0 1\n", "22.0 1\n", "26.0 1\n", "Name: age, dtype: int64\n", "18.0 145\n", "19.0 78\n", "20.0 24\n", "21.0 10\n", "23.0 4\n", "24.0 4\n", "40.0 1\n", "28.0 1\n", "17.0 1\n", "25.0 1\n", "41.0 1\n", "22.0 1\n", "26.0 1\n", "Name: age, dtype: int64\n" ] } ], "source": [ "print dfdemo.age.value_counts()\n", "print df.groupby(['participant']).age.apply(lambda x: x.iloc[0]).value_counts()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# age column is the same between dfs so we can drop it in the original data before merging\n", "df=df.drop(['age'], axis=1)" ] }, { "cell_type": "code", "execution_count": 9, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
acc_meanacc_rawacc_stdcondconditioncongruencecorrAnsexpversiongender_xlocation...resp_rawrt_meanrt_rawrt_stdstimFilexPosyPosSubjectagegender_y
0110selAttGlobCccongruent['f']NaNFleft_right...'f'0,7463318110,7463318110Global_C_local_C.pngNaN-501227718.01.0
1110selAttGlobCccongruent['f']NaNFup_right...'f'0,6872731450,6872731450Global_C_local_D.pngNaN501227718.01.0
2110selAttGlobCccongruent['f']NaNFdown_right...'f'0,7059670690,7059670690Global_C_local_F.pngNaN-501227718.01.0
3110selAttGlobCccongruent['f']NaNFleft_right...'f'0,6617735030,6617735030Global_C_local_H.pngNaN-501227718.01.0
4110selAttGlobCccongruent['f']NaNFdown_right...'f'0,7944073680,7944073680Global_C_local_T.pngNaN-501227718.01.0
\n", "

5 rows × 23 columns

\n", "
" ], "text/plain": [ " acc_mean acc_raw acc_std cond condition congruence corrAns \\\n", "0 1 1 0 selAttGlob Cc congruent ['f'] \n", "1 1 1 0 selAttGlob Cc congruent ['f'] \n", "2 1 1 0 selAttGlob Cc congruent ['f'] \n", "3 1 1 0 selAttGlob Cc congruent ['f'] \n", "4 1 1 0 selAttGlob Cc congruent ['f'] \n", "\n", " expversion gender_x location ... resp_raw rt_mean \\\n", "0 NaN F left_right ... 'f' 0,746331811 \n", "1 NaN F up_right ... 'f' 0,687273145 \n", "2 NaN F down_right ... 'f' 0,705967069 \n", "3 NaN F left_right ... 'f' 0,661773503 \n", "4 NaN F down_right ... 'f' 0,794407368 \n", "\n", " rt_raw rt_std stimFile xPos yPos Subject age gender_y \n", "0 0,746331811 0 Global_C_local_C.png NaN -50 12277 18.0 1.0 \n", "1 0,687273145 0 Global_C_local_D.png NaN 50 12277 18.0 1.0 \n", "2 0,705967069 0 Global_C_local_F.png NaN -50 12277 18.0 1.0 \n", "3 0,661773503 0 Global_C_local_H.png NaN -50 12277 18.0 1.0 \n", "4 0,794407368 0 Global_C_local_T.png NaN -50 12277 18.0 1.0 \n", "\n", "[5 rows x 23 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df= pd.merge(df, dfdemo, how='left', left_on='participant', right_on='Subject')\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.distplot(df.age.dropna(), kde=False);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dataframe characteristics" ] }, { "cell_type": "code", "execution_count": 321, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Variables:\n", "Index([u'acc_mean', u'acc_raw', u'acc_std', u'age_x', u'cond', u'condition',\n", " u'congruence', u'corrAns', u'expversion', u'gender_x', u'location',\n", " u'n', u'order', u'participant', u'resp_raw', u'rt_mean', u'rt_raw',\n", " u'rt_std', u'stimFile', u'xPos', u'yPos', u'Subject', u'age_y',\n", " u'gender_y'],\n", " dtype='object')\n", "variables:\n", "acc_mean int64\n", "acc_raw int64\n", "acc_std int64\n", "age_x float64\n", "cond object\n", "condition object\n", "congruence object\n", "corrAns object\n", "expversion object\n", "gender_x object\n", "location object\n", "n int64\n", "order int64\n", "participant int64\n", "resp_raw object\n", "rt_mean object\n", "rt_raw object\n", "rt_std int64\n", "stimFile object\n", "xPos float64\n", "yPos int64\n", "Subject int64\n", "age_y float64\n", "gender_y float64\n", "dtype: object\n", "nb of participants: 275\n", "trials per participant: 309\n" ] } ], "source": [ "print 'Variables:\\n', df.columns\n", "print 'variables:\\n', df.dtypes\n", "print 'nb of participants:', len(df['participant'].unique())\n", "print 'trials per participant:', len(df)/ len(df['participant'].unique()) #not exactly" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cleaning data" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# rename a variable/column\n", "df = df.rename(columns={'acc_raw': 'acc', 'rt_raw': 'rt'})" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "#properly format RTs (dot notation)\n", "df['rt'] = df['rt'].apply(lambda x: str(x).replace(',','.')).astype('float64')\n", "# fill in missing values\n", "df.loc[df.rt<0,['rt']]= np.nan" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "F 44800\n", "M 15600\n", "Name: gender_x, dtype: int64" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# we have 2 gender columns now, how do they compare?\n", "df.gender_x.value_counts()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# Correcting values in gender column\n", "df.loc[df['gender_x'] == 'vrouw', 'gender_x'] = 'F'" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "count 151\n", "unique 2\n", "top F\n", "freq 112\n", "Name: gender_x, dtype: object\n", "count 60400\n", "unique 2\n", "top F\n", "freq 44800\n", "Name: gender_x, dtype: object\n", "F 44800\n", "M 15600\n", "Name: gender_x, dtype: int64\n" ] } ], "source": [ "df.groupby('gender_x')['participant'].nunique()\n" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "count 151.0\n", "unique 2.0\n", "top 1.0\n", "freq 110.0\n", "Name: gender_y, dtype: float64\n", "count 60400.0\n", "unique 2.0\n", "top 1.0\n", "freq 44000.0\n", "Name: gender_y, dtype: float64\n", "1.0 44000\n", "0.0 16400\n", "Name: gender_y, dtype: int64\n" ] } ], "source": [ "# check gender stats\n", "df.groupby('gender_y')['participant'].nunique()\n" ] }, { "cell_type": "code", "execution_count": 245, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "acc_mean 0\n", "acc 0\n", "acc_std 0\n", "age_x 600\n", "cond 0\n", "condition 0\n", "congruence 0\n", "corrAns 0\n", "expversion 60400\n", "gender_x 24800\n", "location 0\n", "n 0\n", "order 0\n", "participant 0\n", "resp_raw 302\n", "rt_mean 0\n", "rt 302\n", "rt_std 0\n", "stimFile 0\n", "xPos 60400\n", "yPos 0\n", "Subject 0\n", "age_y 600\n", "gender_y 24800\n", "dtype: int64" ] }, "execution_count": 245, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# count missing values\n", "df.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# Save merged data\n", "df.to_csv('dfmerged.csv')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Save merged data\n", "df = pd.read_csv('dfmerged.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Group by: split-apply-combine\n", "\n", "Common operation:\n", "- Splitting the data into groups based on some criteria\n", "- Applying a function to each group independently\n", "- Combining the results into a data structure\n", "\n", "Can be about: \n", "- calculating some aggregate measurement for each group (*agg(function)*, *size()*, *mean()*, *apply(function)*, *rolling()*, etc.)\n", "- filtering the rows on a property of the group they belong to (*filter()*)\n", "- calculating a new value for each row based on a property of the group (*transform()*), e.g. create a column with Z-scores\n", "\n", "It helps to start with the result you want, and work backwards from there. If you want to get a single value for each group, use aggregate(), apply() (or one of the shortcuts). If you want to get a subset of the original rows, use filter(). And if you want to get a new value for each original row, use transform(). Check [this page](https://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook-grouping) for some more advanced groupby recipes. Note that *apply()* is [most flexible](http://pandas-docs.github.io/pandas-docs-travis/groupby.html#flexible-apply) because it can implement an aggregate or a transform, and anything in between. Examples follow..." ] }, { "cell_type": "code", "execution_count": 289, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "cond congruence \n", "selAttGlob congruent 0.918967\n", " incongruent 0.899812\n", "selAttLoc congruent 0.936808\n", " incongruent 0.894413\n", "Name: acc, dtype: float64" ] }, "execution_count": 289, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby(['cond', 'congruence']).acc.mean() #.reset_index()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Insert a column with standardized RT:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "zscore = lambda x: (x - x.mean()) / x.std()\n", "df.insert(17, 'Zage', df.groupby(['participant'])['age'].transform(zscore))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Removing outliers" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.08750000000000002" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# proportion of incorrect trials\n", "1-df.acc.mean()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.distplot(df.groupby(['participant']).acc.mean(), bins=20);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Get help on how to use a method:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "?sns.distplot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or just press *shift-tab* when cursor is on a method/module to view info. Note that you can find all jupyter lab commands in the left panel, under the *Commands* tab. You can also open a console (file-> view console for notebook) to quickly try out some code before entering them in a cell." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Remove participants with mean accuracy lower than (mean acc - 2.5*std of accuracy) " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "266\n" ] } ], "source": [ "df = df.groupby('participant').filter(\n", " lambda x : x['acc'].mean() > df.acc.mean()-(2.5*df.groupby(['participant']).acc.mean().std()))\n", "\n", "print len(df.participant.unique())" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.distplot(df.groupby(['participant']).acc.mean(), bins=20);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# RT analysis" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# discard incorrect trials for RT analyses\n", "dfrt = df[df.acc==1]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.distplot(dfrt.rt);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Remove participants with mean rt lower than (overall mean rt - 2.5*std of rt)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "258\n" ] } ], "source": [ "dfrt = dfrt.groupby('participant').filter(\n", " lambda x : x['rt'].mean() < df.rt.mean()+(2.5*df.groupby(['participant']).rt.mean().std()))\n", "\n", "print len(dfrt.participant.unique())" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.distplot(dfrt.rt);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### One could define outlier RTs on the individual level as well..." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "85200" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(dfrt)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "82200" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfrt = dfrt[dfrt.groupby('participant').rt.transform('mean') +(2.5*dfrt.groupby('participant').rt.transform('std')) > dfrt.rt]\n", "len(df)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.distplot(dfrt.rt);" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "conditions = ['congruent', 'incongruent']\n", "\n", "for condition in conditions:\n", " condition_data = dfrt[(dfrt['congruence'] == condition) & (dfrt['cond'] == 'selAttGlob')]['rt']\n", " sns.kdeplot(condition_data, shade=True, label=condition)\n", " \n", "sns.despine()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[More ways](https://www.marsja.se/response-time-distributions-using-python/) to explore RT distributions." ] }, { "cell_type": "code", "execution_count": 52, "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", " \n", " \n", " \n", " \n", " \n", " \n", "
countmeanstdmin25%50%75%max
conditioncondcongruence
CcselAttGlobcongruent9009.00.5425340.1279640.2074800.4616600.5234060.5987911.582623
selAttLoccongruent9089.00.5561940.1351400.1898900.4666940.5362550.6157811.714776
CvselAttGlobincongruent8721.00.5598380.1422800.1029240.4691020.5389650.6180731.845350
selAttLocincongruent8708.00.5395500.1232200.0686580.4538510.5247520.6060111.735075
VcselAttGlobincongruent8958.00.5236780.1252080.0697820.4396350.5093560.5810431.911829
selAttLocincongruent8651.00.5841750.1426840.0157800.4917420.5639840.6488911.976961
VvselAttGlobcongruent9092.00.5136520.1153750.2299300.4376600.4969870.5702681.520877
selAttLoccongruent9234.00.5164710.1158000.1997530.4358490.5008620.5740131.470798
\n", "
" ], "text/plain": [ " count mean std min \\\n", "condition cond congruence \n", "Cc selAttGlob congruent 9009.0 0.542534 0.127964 0.207480 \n", " selAttLoc congruent 9089.0 0.556194 0.135140 0.189890 \n", "Cv selAttGlob incongruent 8721.0 0.559838 0.142280 0.102924 \n", " selAttLoc incongruent 8708.0 0.539550 0.123220 0.068658 \n", "Vc selAttGlob incongruent 8958.0 0.523678 0.125208 0.069782 \n", " selAttLoc incongruent 8651.0 0.584175 0.142684 0.015780 \n", "Vv selAttGlob congruent 9092.0 0.513652 0.115375 0.229930 \n", " selAttLoc congruent 9234.0 0.516471 0.115800 0.199753 \n", "\n", " 25% 50% 75% max \n", "condition cond congruence \n", "Cc selAttGlob congruent 0.461660 0.523406 0.598791 1.582623 \n", " selAttLoc congruent 0.466694 0.536255 0.615781 1.714776 \n", "Cv selAttGlob incongruent 0.469102 0.538965 0.618073 1.845350 \n", " selAttLoc incongruent 0.453851 0.524752 0.606011 1.735075 \n", "Vc selAttGlob incongruent 0.439635 0.509356 0.581043 1.911829 \n", " selAttLoc incongruent 0.491742 0.563984 0.648891 1.976961 \n", "Vv selAttGlob congruent 0.437660 0.496987 0.570268 1.520877 \n", " selAttLoc congruent 0.435849 0.500862 0.574013 1.470798 " ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# summary statistics of RT per condition\n", "dfrt.groupby(['condition','cond','congruence']).rt.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Seaborn for visualization\n", "\n", "- Attractive and informative statistical graphics in Python.\n", "- With minimal effort or tweaking (often work on the full dataset instead of summary)\n", "- Invites quick exploration (supports violins, swarms, boxes, lines, bars, strips, heatmaps, faceting...)\n", "- Tuned to the needs of psychologists (made by a cognitive neuroscientist)\n", "- A [gallery](https://seaborn.pydata.org/examples/index.html) of what's possible." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g = sns.factorplot(x=\"condition\", y=\"rt\", hue=\"congruence\",\n", " col=\"cond\", unit='participant', data=dfrt, kind=\"point\"); \n", "\n", "g.set(xlabel=\"Condition\", yticklabels=[y for y in np.linspace(0,.6,6)]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Some features of Seaborn plots:\n", "\n", "- [Factorplot](https://seaborn.pydata.org/generated/seaborn.factorplot.html#seaborn.factorplot) is a categorical, faceted plot: \"It is important to choose how variables get mapped to the plot structure such that the most important comparisons are easiest to make. As a general rule, it is easier to compare positions that are closer together, so the hue variable should be used for the most important comparisons\".\n", "- Note the unit parameter: Identifier of sampling units, which will be used to perform a multilevel bootstrap for the confidence intervals (errorbars) and account for repeated measures design.\n", "- Hence, you can input the full dataset\n", "- The default errorbar is 95% ci, but you could set it to another size, or to *sd* or to *none*\n", "- The default estimator plotted is the mean, but this can also changed to any summary function.\n", "- The *kind* parameter can be set to {point, bar, count, box, violin, strip}. But you can also call the base function, e.g. boxplot() (see example below)\n", "- Seeing that seaborn is built on top of matplotlib, you can always further customize plots using matplotlib methods (see example below).\n" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "# we could define a function for saving plots for use outside of notebook (e.g. in paper)\n", "def save_fig(fig, figname):\n", " if not os.path.exists('figs'):\n", " os.makedirs('figs')\n", " fig.savefig(\"figs/%s.pdf\" % figname, dpi=300) #high dpi for printing\n", " fig.savefig(\"figs/%s.png\" % figname, dpi=300)\n", " fig.savefig(\"figs/%s.svg\" % figname, dpi=300)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dfsum = dfrt.groupby(['participant', 'congruence', 'cond']).rt.mean().reset_index()\n", "g = sns.boxplot(x=\"cond\", y=\"rt\", hue=\"congruence\", data=dfsum);\n", "g.legend(loc=\"upper left\");\n", "save_fig(g.get_figure(),'box')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "add raincloud plots: https://wellcomeopenresearch.org/articles/4-63/v1 https://github.com/RainCloudPlots/RainCloudPlots/blob/master/tutorial_python/raincloud_tutorial_python.ipynb\n", "Add dabest: https://github.com/ACCLAB/DABEST-python\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Compute difference scores (interference) and plot distributions" ] }, { "cell_type": "code", "execution_count": 20, "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", "
participantcondinterference
07576selAttGlob0.008086
17576selAttLoc0.014542
210711selAttGlob0.013350
310711selAttLoc0.024520
410771selAttGlob0.066292
\n", "
" ], "text/plain": [ " participant cond interference\n", "0 7576 selAttGlob 0.008086\n", "1 7576 selAttLoc 0.014542\n", "2 10711 selAttGlob 0.013350\n", "3 10711 selAttLoc 0.024520\n", "4 10771 selAttGlob 0.066292" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def interference(group):\n", " return group[group.congruence=='incongruent'].rt.mean()-group[group.congruence=='congruent'].rt.mean()\n", "\n", "dfIF = dfrt.groupby(['participant','cond']).apply(interference).reset_index()\n", "dfIF = dfIF.rename(columns={0: 'interference'})\n", "\n", "dfIF.head()" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.swarmplot(x=\"cond\", y=\"interference\", data=dfIF);" ] }, { "cell_type": "code", "execution_count": 152, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.set_context(\"poster\", font_scale=1.3)\n", "sns.set_palette('deep') # options: deep, muted, bright, pastel, dark, colorblind\n", "\n", "fig, ax = plt.subplots(figsize=(10, 6))\n", "conditions = ['selAttGlob', 'selAttLoc']\n", "\n", "for i, condition in enumerate(conditions):\n", " condition_data = dfIF[(dfIF['cond'] == condition)]['interference']\n", " sns.distplot(condition_data, label=condition);\n", " ax.axvline(x=dfIF[(dfIF['cond'] == condition)]['interference'].mean(), linestyle='--', color= sns.color_palette()[i])\n", "\n", "# embellish plot\n", "sns.despine()\n", "\n", "ax.set_title('Navon interference on reaction times')\n", "ax.set_xlabel(\"Interference\")\n", "\n", "# Improve the legend \n", "handles, labels = ax.get_legend_handles_labels()\n", "ax.legend(handles, ['local interference', 'global interference'], loc=\"best\");\n", "save_fig(fig, \"interference\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For more customization options, see the [seaborn tutorials](https://seaborn.pydata.org/tutorial.html). More flexibility is provided by the matplotlib core: [a cheat sheet](https://nbviewer.jupyter.org/urls/gist.githubusercontent.com/Jwink3101/e6b57eba3beca4b05ec146d9e38fc839/raw/f486ca3dcad44c33fc4e7ddedc1f83b82c02b492/Matplotlib_Cheatsheet)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Let's do a quick t-test..." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t-test for global interference different from zero:\n", "t = 14.92 p = 0.0\n", "t-test for local interference different from zero:\n", "t = 8.38 p = 0.0\n" ] } ], "source": [ "from statsmodels.stats.weightstats import ztest\n", "\n", "out = ztest(dfIF[dfIF.cond=='selAttLoc']['interference'], value=0)\n", "print \"t-test for global interference different from zero:\\nt = \", round(out[0],2), \"p = \", round(out[1],4)\n", "out = ztest(dfIF[dfIF.cond=='selAttGlob']['interference'], value=0)\n", "print \"t-test for local interference different from zero:\\nt = \", round(out[0],2), \"p = \", round(out[1],4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Luckily these conclusions are consistent with those reported in the paper..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Or a mixed model..." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Mixed Linear Model Regression Results\n", "======================================================================================\n", "Model: MixedLM Dependent Variable: rt \n", "No. Observations: 71620 Method: REML \n", "No. Groups: 258 Scale: 0.0136 \n", "Min. group size: 158 Likelihood: 51605.4400\n", "Max. group size: 386 Converged: Yes \n", "Mean group size: 277.6 \n", "--------------------------------------------------------------------------------------\n", " Coef. Std.Err. z P>|z| [0.025 0.975]\n", "--------------------------------------------------------------------------------------\n", "Intercept 0.529 0.004 142.079 0.000 0.522 0.537\n", "congruence[T.incongruent] 0.013 0.001 10.854 0.000 0.011 0.016\n", "cond[T.selAttLoc] 0.009 0.001 7.125 0.000 0.006 0.011\n", "congruence[T.incongruent]:cond[T.selAttLoc] 0.011 0.002 6.556 0.000 0.008 0.015\n", "groups RE 0.003 0.003 \n", "======================================================================================\n", "\n" ] } ], "source": [ "md = smf.mixedlm(\"rt ~ congruence * cond\", dfrt, groups=data[\"participant\"])\n", "mdf = md.fit()\n", "print(mdf.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Accuracy analysis" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "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119/1bBhw1zeU9W7d28VFxertrZWL774ogICAkystGPa2s/Fixerd+/estlsWr16te644w5NnjzZ7LI77Er72djYqA0bNig1NVUhISEqKirSH3/8odGjR5tccefRnXqfvqfvgWti9mX73UFpaanx0EMPGRaLxUhMTDTy8vKMQ4cOGYZhGPX19caCBQuMpKQkY/jw4cby5ctNrvbaLFmyxIiNjTV+/vnnZnNZWVnGokWLTKjKvVrbT8MwjNraWuP22283SktLTazSPVraz6amJuP111830tLSjKFDhxpz58416urqTKyy8+ouvU/f0/dAR/kZRhf6fSEAAADwGbxHFAAAAKYgiAIAAMAUBFEAAACYgiAKAAAAUxBEAQAAYAqCKAAAAExBEIVP+fLLLxUbG6uGhgZJ0siRI1VSUiJJunDhgrZt2+Y8durUqXr55ZdNqROAe9H7QNcUaHYBgCdt27ZNYWFhkqQNGzaooqJCEydOlCStXLlSQUFBZpYHwEPofaBrIIjCp0VERDj//v8/u6FXr17eLgeAl9D7QNfAS/PwitOnTys/P1/x8fEaMWKEli1bpqamJp0/f17//Oc/lZycrPj4eM2ePVunT592njdy5Eht3rxZU6ZM0Z133qkxY8Zo3759zvnffvvNebsZGRk6dOiQy/3+9fLcjh07tGrVKh08eFCxsbGSmr88t2vXLmVlZemuu+5SZmam9uzZ45xbuXKlnnrqKS1evFiJiYmyWCx66aWX1NTU5KkvGeAT6H0ArSGIwuPsdrsef/xxORwOlZSU6NVXX9UHH3yg9evXa86cOaqqqtKKFStUUlKihoYGzZw5U42Njc7zV6xYoZycHJWVlSk2NlYLFy6Uw+GQJM2ZM0f19fUqKSnRc889p/Xr17dYw9ixYzV9+nQNGTJEn332WbP50tJSWa1WTZs2TR988IEmTJigefPm6eDBg85j9u7dK5vNpq1bt2rRokXasmWLPvnkE/d+sQAfQu8DaAtBFB5XWVmpX375RUuXLlVcXJwSExNVUFAgm82myspKLVmyRAkJCYqLi1NxcbGqq6tdvsmPGzdOY8eOVf/+/ZWfn68zZ86opqZGR48e1TfffKPCwkLFxcUpNTVV+fn5LdYQEhKisLAwBQYGKjIystn8xo0bNXnyZE2aNEnR0dHKy8vT6NGj9eabbzqPCQsL0/PPP6/o6GhlZ2crLi5O3377rdu/XoCvoPcBtIUgCo87duyY+vXrp/DwcOfYqFGjFBMTo5CQEMXFxTnHw8PDFR0drePHjzvHoqKinH/v2bOnJMnhcOjYsWMKCwtzmb/zzjs7VOPx48d19913u4wlJCTo2LFjzn/fdtttLhc49OzZU5cuXerQ/QHdAb0PoC0EUXjcla5O7dGjR4vjjY2NLi/PtXS+YRjy8/Nr9j6tjl4J21ItTU1NLrd/pToAtIzeB9AWgig8LioqSqdOnVJ9fb1z7O2339amTZtks9l0+PBh5/jvv/+un376SdHR0W3e7uDBg2Wz2fTDDz84x7777rsrHu/n53fFuZiYGB04cMBlrKqq6qrqANAyeh9AWwii8Ljk5GT17dtXVqtVR48e1f79+/X6668rLS1N6enpWrBggaqqqnT48GE9/fTTioyMVGpqapu3GxMTo5SUFC1cuFDfffed9u/fr1WrVl3x+LCwMJ05c0bV1dXN5vLy8vTOO+/ovffe08mTJ/XWW2+pvLxcjz322DWtHejO6H0AbSGIwuMCAgK0Zs0aXbx4URMnTtSzzz6rSZMmKTc3V0VFRYqNjdUTTzyhnJwcXXfdddq8ebNCQ0Ov6rZfeeUVDRgwQFOmTJHValVubu4Vjx09erQCAwOVlZWl2tpal7lRo0Zp4cKFWrt2rbKysrRr1y6tWLFC995777UsHejW6H0AbfEzeKMLAAAATMAzogAAADAFQRQAAACmIIgCAADAFARRAAAAmIIgCgAAAFMQRAEAAGAKgigAAABMQRAFAACAKf4XSnD9USmaReMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.factorplot(x=\"condition\", y=\"acc\", hue=\"congruence\",\n", " col=\"cond\", unit=\"participant\", data=df, kind=\"point\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Incidentally, it is possible to use latex in your markdown, for example, drop that Bayes!\n", "\n", "\\\\( P(A \\mid B) = \\frac{P(B \\mid A) \\, P(A)}{P(B)} \\\\)\n", "\n", "Just kidding, I'm not going to show you how to do a Bayesian analysis on these data...\n", "\n", "### I would like to do a logistic mixed model on the accuracy data, but unfortunately statsmodels does not yet support those.\n", "\n", "Statsmodel has an alternative method to deal with clustered data: Generalized Estimating Equations (GEE). GEEs have a few attractive advantages over hierarchical linear models (“mixed models”), for example fewer assumptions about the random effects and more intuitive interpretation of coefficients. Especially for discrete dependent variables (i.e., our binary accuracy data) the likelihood-based mixed models can show difficult convergence and a lack of robustness to misspecification of the covariance structure. See also: McNeish, D., Stapleton, L. M., & Silverman, R. D. (2016). [On the Unnecessary Ubiquity of Hierarchical Linear Modeling. Psychological Methods](https://drive.google.com/open?id=0BwlD7q-DXkdWWXRWRG5YZUZ1elU)." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " GEE Regression Results \n", "===================================================================================\n", "Dep. Variable: acc No. Observations: 82200\n", "Model: GEE No. clusters: 266\n", "Method: Generalized Min. cluster size: 200\n", " Estimating Equations Max. cluster size: 400\n", "Family: Binomial Mean cluster size: 309.0\n", "Dependence structure: Exchangeable Num. iterations: 8\n", "Date: Fri, 25 May 2018 Scale: 1.000\n", "Covariance type: robust Time: 16:22:30\n", "===============================================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "---------------------------------------------------------------------------------------------------------------\n", "Intercept 2.5646 0.049 51.960 0.000 2.468 2.661\n", "cond[T.selAttLoc] 0.2534 0.057 4.446 0.000 0.142 0.365\n", "congruence[T.incongruent] -0.2408 0.048 -4.998 0.000 -0.335 -0.146\n", "cond[T.selAttLoc]:congruence[T.incongruent] -0.3669 0.072 -5.126 0.000 -0.507 -0.227\n", "==============================================================================\n", "Skew: -3.0706 Kurtosis: 7.4768\n", "Centered skew: -2.9520 Centered kurtosis: 7.1066\n", "==============================================================================\n", "The correlation between two observations in the same cluster is 0.023\n" ] } ], "source": [ "# model formulation\n", "fml = \"acc ~ cond * congruence\"\n", "\n", "# covariance structure\n", "ex = sm.cov_struct.Exchangeable()\n", "#link fu\n", "fa = sm.families.Binomial(sm.families.links.logit)\n", "\n", "model = sm.GEE.from_formula(fml, \"participant\", df, cov_struct=ex, family=fa)\n", "result = model.fit()\n", "print(result.summary())\n", "print(result.cov_struct.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### But reviewer #2 demands a conventional GLMM...so let's use R" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Interfacing between R and python\n", "\n", "### Option 1: R interface to python \n", "- Using library([reticulate](http://blog.rstudio.com/2018/03/26/reticulate-r-interface-to-python))\n", "- Add python code chunks in your Rmarkdown (but no autocomplete so best used sparingly)\n", "- Read in python source files and call its functions\n", "- Automatic variable conversion: e.g. R dataframe becomes pandas dataframe (and vice versa)\n", "- Import python modules from within R and call its functions in the usual R way ($)\n", "\n", "### Option 2: Open the R kernel in jupyterlab\n", "- Same environment but separate analyses\n", "- Actual R notebook (jupyte**R**!)\n", "- No real integration: you still rely on writing/reading files\n", "\n", "### Option 3: Python interface to R\n", "- Using [rpy2](https://rpy2.readthedocs.io/en/version_2.8.x/) library (*conda install rpy2* into the Anaconda terminal)\n", "- Make a full cell (or a line) of R (by \"magic\")\n", "- Automatic variable conversion: Pandas dataframe becomes R dataframe (and vice versa)\n", "- Load R libraries" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "import rpy2.rinterface\n", "\n", "%reload_ext rpy2.ipython\n", "%R -n require(lme4); \n", "%R -n require(tidyr); require(ggplot2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A killer feature of Jupyter notebooks are **magic commands**. \n", "\n", "- These commands, prefaced with a '%', add some extra power over top of the typical Python syntax to solve common problems that may arise. [More about magic commands](http://ipython.readthedocs.io/en/stable/interactive/magics.html). We focus on R here but Magic commands are for example also available for javascript plotting in Jupyter.\n", "- *%load_ext* magic command loads the rpy2 jupyter extension into the notebook, essentially initializing the R interface and allowing the notebook to connect and pass objects between the two languages. This magic command needs only to be run once. \n", "- Double \"%\" signs affect the whole cell (jupyter code block), for example making it an R code block. " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAIAAADytinCAAAeBElEQVR4nO3de1TUdf748fdcuI6IYGojeUNGdNXAI3jtiJqn0OOF8lK05a76XRY3zdXT6q6b2Z6Obufo6rZbXspvWnpsrTUveUzUb2q6qRVZhgmieIsA8QIyowPMzOf3x/gzQjBq4/N5MTwff8FnPsz7NUrPPr4ZZkyapikAgDxmowcAANSNQAOAUAQaAIQi0AAgFIEGAKEINAAIRaABQCgCDQBCEWgAEIpAA4BQBBoAhCLQACAUgQYAoQg0AAhFoAFAKAINAEIRaAAQikADgFAEGgCEItAAIBSBBgChCDQACEWgAUAoAo2fn8PhMNVgNpu7du36yiuvNPweXC6XyWQKCwv7yTN4vV7/6j/qq+x2e82xO3XqNGPGjOvXrzf8Hv77yYHbCDQaS5cuXRITExMSEsxmc0FBwcyZMw8ePPizr9KnTx+TyZSdnf0z3mdcXFxiYqLD4bh48eKrr746c+ZM/WcAFIFG41m+fPmxY8e++OKLo0eP3nPPPUqp3bt367a6xWJxu91ut/snfO2aNWuOHTuWl5e3ceNGpdQ777zj8/l+7gGBH0ag0ej69u2bkpKilAoPD695PD8/3+FwPPzww6+99lqXLl06duw4d+5cj8dz5z04nc7Zs2c7HI6IiIi+ffu++eab/uN9+vT54osvlFJJSUmbN2+u+SUulys0NLRVq1ZKqcuXLzscjn79+m3durV3796RkZFpaWmlpaU/OPmDDz6olHK73eXl5WPGjDGZTC+++KL/ppdeeslkMs2ePbu+GbKyshISEiIjIx977LHbmyT1PZCfPCECnAb83OLi4pRSW7du9X9aWFjYpUsXpdShQ4dqnpaTk6OUCg0NtdlsQ4cObdmypVJq1qxZmqY5nU7/Tf4zhw8frpTq2LHj6NGj/ZV/+eWXNU3btWtXp06dlFKLFi26ePFizTuveQ/FxcVKKavVGhISkpiYaLValVIZGRl3Tn7vvfcqpfbv3+//9N///rdSKjIyUtO0t99+WynVr18//01DhgxRSh05cqTWDP51zWZzWFhYQkKCxWJRSs2fP//uD6ThE6JZIdD4+fkDXZPFYlm4cGGt0/yBVkp9+OGHmqYdP37cbDaHhIRUVFTUzOuBAwf8UauoqLj9aevWrf13kpiYqJT67LPPat35nYG+Xd7169crpe6///47J/cHOj4+PikpqWfPnmazWSn17LPPaprmcrlatGhhMpmKiorKysqsVmvnzp3vnMG/rlJqx44dmqb97W9/U0oNHz787g+k4ROiWbH+99fgQJ26dOkSGRnp8/lyc3OrqqpOnTqladqdT6to167dsGHDlFK9e/fu1avX8ePHT58+7XA4bp9w/PhxpdSYMWNatGihlBoyZIjdbi8qKioqKrLb7Q2fp1WrVv6dlqSkJKXUjRs36jszLy/P/0H79u0nTZrk39YIDw9PS0vbsGHDzp07IyMjPR7P448/Xt89BAcHjxo1SimVnJx8e627PBD//wkaPiGaCfag0Vj8PyT88ssvz549a7FY3n777cuXL995Ws1k3+VZcTVv8ueszt3qu/DvG9x9Fb/bWxyFhYXLly8PDQ31H//lL3+plHr//fc/+OADpdRdAm02m/2r+Edt4ANp+IRoJgg0Gl379u39l7qXLl2689bi4mL/0+9ycnJycnJCQ0O7detW84RevXoppXbs2OFyuZRShw4dKiwsjI6O7tChw+1zvF5voz4EvxEjRrRt23bPnj07d+6Mj49PSEioeesPztCQBwLURKChn9s7rTVZLJaRI0c+9NBDDzzwgNfrfeaZZ2o92WPo0KEpKSnnzp27//77H3300ZEjRyqlXnjhBf+tt3/Ulp+f39jzW63WSZMmuVyuoqKi9PT028cbOMPdHwhwJwINPXTt2lUptXXr1jtviouLmz9/fk5OTkRExPz58xcvXnznOe+///4zzzxjMpl2797tcDjWrVt3+5dHnnnmmbZt227atOnEiRON+hD8nnjiCf8Hjz322O2DDZ/hLg8EuJNJ0zSjZ0AzdeLEiV69enXv3v3kyZNGz9JQ33zzTYcOHRITE48dO2b0LAh8XEEDDfX666+PGzdOKTVlyhSjZ0GzQKCBhtq4cWNxcfFTTz2VkZFh9CxoFtjiAAChuIIGAKEINAAIRaABQCgCDQBCEWgAEIpAA4BQBBoAhCLQACAUgQYAoQg0AAhFoAFAKAINAEIRaAAQikADgFAEGgCEItAAIBSBBgChCDQACEWgAUAoq9ED/DiXL1/et2+f0VMAwC1ms3ns2LFBQUGNcedNLNAffvjhtm3bUlJSjB4EAJRS6q233kpMTOzatWtj3HkTC7RSavDgwbzp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e/bsqaqqKi4uPnXqVGpqauvWrQsKCnr37q1pWosWLcrLy2ue7/F4nE7nuXPnYmNjr1+/3q1bt0Z+HMB3CDQCxGuvvaZpms1me+WVV+5yWkxMTHx8/EcffbR9+/a0tLTg4OCgoKA1a9YkJSUNGTIkOzu71vkTJkz4zW9+M3r06I4dOy5btqy6uroxHwTwPQQageD8+fNz585ds2bN66+//uc///n06dN3Odm/y7Ft27b09HSl1ObNm999992tW7d++umnU6dOrXVyaWnp1KlTv/nmm3feeWfdunXvv/9+Iz4M4PsINJo8TdOmTp36q1/9asCAAUlJSdOmTZsyZYrP56vv/LS0tPfeey8nJ2fYsGFKqaKiovbt27dv3/7ixYtr1651Op01T37rrbfGjh178+bNHj16RERE1NoAARoVgUaTt3LlytOnTy9atMj/6YsvvnjhwoWXX365vvN79OgRHh4+duxYi8WilHryySfdbnf79u0nTpw4c+bMwsLCLVu23D45MzOzdevWMTExcXFxvXv3fvLJJxv74QC3mTRNM3oGAEAdrEYPADSK3NzcOy+ibTbb0qVLDZkH+Am4ggYAodiDBgChCDQACEWgAUAoAg0AQhFoABCKQAOAUAQaAIQi0AAgFIEGAKEINAAIRaABQCgCDQBCEWgAEIpAA4BQBBoAhCLQACDU/wMDyxDqEjevugAAAABJRU5ErkJggg==\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%R\n", "# ^ Tells the notebook that this code cell is actually R\n", "\n", "# Now we can write R code as if this were an R notebook\n", "X_vals <- c(1, 2, 3, 4, 5)\n", "y_vals <- c(1, 2, 4, 8, 16)\n", "\n", "plot(X_vals, y_vals,\n", " col='purple', pch=12,\n", " main='R plot in Python')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Passing variables back and forth\n", "\n", "- A variable listed after -i on the %%R line will be inputted and converted to an R object from Python. \n", "- A variable listed after -o on the %%R line will be outputted and converted from an R object to a Python object." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'np' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mseed\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m42\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;31m# Make a pandas DataFrame\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mtestdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnormal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0msize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolumns\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'ABC'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mtestdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'C'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtestdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'C'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mtestdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'np' is not defined" ] } ], "source": [ "np.random.seed(42)\n", "# Make a pandas DataFrame\n", "testdf = pd.DataFrame(np.random.normal(0,1,size=(100, 3)), columns=list('ABC'))\n", "testdf['C'] = testdf['C'] + 2\n", "testdf.head()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%R -i testdf\n", "testdf %>% \n", " gather(\"Category\", \"X\") %>%\n", " ggplot(aes(x = Category, y = X, fill = Category)) +\n", " geom_violin() +\n", " stat_summary(fun.y=mean, color='black', geom='point', size = 3) +\n", " theme_bw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### But why not stay in python ;-)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " category X\n", "0 A 0.496714\n", "1 A 1.523030\n", "2 A 1.579213\n", "3 A 0.542560\n", "4 A 0.241962\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dfmelted = pd.melt(testdf, value_vars=[\"A\",\"B\",\"C\"], var_name=\"category\", value_name=\"X\")\n", "print dfmelted.head()\n", "dfmelted[\"xbin\"] = dfmelted.X > .5\n", "\n", "sns.violinplot(x=\"category\", y=\"X\", data=dfmelted, inner=\"quart\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we used the pandas melt function to go from a dataset in the wide form (testdf above) to long form (done in R with the melt or gather function). There are many more **reshaping and pivoting** functions in pandas, which we won't cover. The best way to get a feel for the pandas reshape and pivot functions is to go through [this brief visual guide](https://jalammar.github.io/visualizing-pandas-pivoting-and-reshaping/). Further details can be found in the [pandas documentation](https://pandas.pydata.org/pandas-docs/stable/reshaping.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Still prefer the ggplot syntax?" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from plotnine import *\n", "\n", "(ggplot(dfmelted, aes(x = 'category', y = 'X', fill = 'category'))\n", " + geom_violin() \n", " + stat_summary(fun_y=np.mean, color='black', geom='point', size = 3)\n", " + theme_bw())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### But we wanted a GLMM on our accuracy data..." ] }, { "cell_type": "code", "execution_count": 22, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
acc_meanaccacc_stdcondconditioncongruencecorrAnsexpversiongender_xlocation...resp_rawrt_meanrtrt_stdstimFilexPosyPosSubjectagegender_y
0110selAttGlobCccongruent['f']NaNFleft_right...'f'0,7463318110.7463320Global_C_local_C.pngNaN-501227718.01.0
1110selAttGlobCccongruent['f']NaNFup_right...'f'0,6872731450.6872730Global_C_local_D.pngNaN501227718.01.0
2110selAttGlobCccongruent['f']NaNFdown_right...'f'0,7059670690.7059670Global_C_local_F.pngNaN-501227718.01.0
3110selAttGlobCccongruent['f']NaNFleft_right...'f'0,6617735030.6617740Global_C_local_H.pngNaN-501227718.01.0
4110selAttGlobCccongruent['f']NaNFdown_right...'f'0,7944073680.7944070Global_C_local_T.pngNaN-501227718.01.0
\n", "

5 rows × 23 columns

\n", "
" ], "text/plain": [ " acc_mean acc acc_std cond condition congruence corrAns expversion \\\n", "0 1 1 0 selAttGlob Cc congruent ['f'] NaN \n", "1 1 1 0 selAttGlob Cc congruent ['f'] NaN \n", "2 1 1 0 selAttGlob Cc congruent ['f'] NaN \n", "3 1 1 0 selAttGlob Cc congruent ['f'] NaN \n", "4 1 1 0 selAttGlob Cc congruent ['f'] NaN \n", "\n", " gender_x location ... resp_raw rt_mean rt rt_std \\\n", "0 F left_right ... 'f' 0,746331811 0.746332 0 \n", "1 F up_right ... 'f' 0,687273145 0.687273 0 \n", "2 F down_right ... 'f' 0,705967069 0.705967 0 \n", "3 F left_right ... 'f' 0,661773503 0.661774 0 \n", "4 F down_right ... 'f' 0,794407368 0.794407 0 \n", "\n", " stimFile xPos yPos Subject age gender_y \n", "0 Global_C_local_C.png NaN -50 12277 18.0 1.0 \n", "1 Global_C_local_D.png NaN 50 12277 18.0 1.0 \n", "2 Global_C_local_F.png NaN -50 12277 18.0 1.0 \n", "3 Global_C_local_H.png NaN -50 12277 18.0 1.0 \n", "4 Global_C_local_T.png NaN -50 12277 18.0 1.0 \n", "\n", "[5 rows x 23 columns]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfreduc=df.iloc[:5000]\n", "dfreduc.head()\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "%%R\n", "lr.test = function(m1, m2, name){\n", " print(summary(m1))\n", " print(summary(m2))\n", " out = anova(m1, m2)\n", " chi2 = out$Chisq[2]\n", " dof = out$\"Chi Df\"[2]\n", " p = out$\"Pr(>Chisq)\"[2]\n", " test_str = \"Likelihood ratio test for %s:\\n Chisq(%d) = %.2f; p = %.3g\"\n", " writeLines(sprintf(test_str, name, dof, chi2, p))\n", "}" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Error in glmer(acc ~ cond * congruence + (1 | participant), dfreduc, family = binomial) : \n", " could not find function \"glmer\"\n" ] } ], "source": [ "%%R -i dfreduc\n", "m = glmer(acc ~ cond * congruence + (1 | participant), dfreduc, family=binomial)\n", "m.null = glmer(acc ~ cond + congruence + (1 | participant), dfreduc, family=binomial)\n", "lr.test(m, m.null, \"interaction effect of selective attention * congruence\")" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "UsageError: Cell magic `%%R` not found.\n" ] } ], "source": [ "%%R -i dfrt\n", "m = glmer(rt ~ cond * congruence + (1 | participant), dfrt)\n", "m.null = glmer(rt ~ cond + congruence + (1 | participant), dfrt)\n", "lr.test(m, m.null, \"interaction effect of selective attention * congruence\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### **Conclusion**: It's easy to do data management and manipulations in python, but briefly switch to R for some analysis or visualization that is better supported in R (or vice versa with reticulate)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Sharing/exporting notebooks\n", "\n", "- Export as (see file-menu) html, pdf, markdown, latex...\n", "- Push to github and people can see a pretty-printed but static version (see [the current notebook](https://github.com/gestaltrevision/Reproducible_workflow_tutorial/blob/master/PythoninPsy/tutorialDatawrangling.ipynb))\n", "- Use [nbviewer](http://nbviewer.jupyter.org/) to create a rendered, static version of your notebook\n", "- Use [Binder](https://mybinder.org/) to create a collection of interactive, linked notebooks " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Sources\n", "\n", "Aside from the examples, this tutorial is basically a mashup of sections of these sources:\n", "\n", "https://github.com/ujjwalkarn/DataSciencePython\n", "\n", "### Data wrangling\n", "\n", "* [Jupyter notebook tutorial](https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook)\n", "* [Interactive pandas tutorial](https://www.datacamp.com/community/tutorials/pandas-tutorial-dataframe-python) \n", "* [Basic pandas tutorial](https://www.dataquest.io/blog/pandas-tutorial-python-2/)\n", "* [Basic tutorial pandas in notebook](http://nikgrozev.com/2015/12/27/pandas-in-jupyter-quickstart-and-useful-snippets/)\n", "* [Preprocessing issues](https://www.datacamp.com/community/tutorials/the-importance-of-preprocessing-in-data-science-and-the-machine-learning-pipeline-i-centering-scaling-and-k-nearest-neighbours#gs.zBXNP2I)\n", "* [Tidy data in python](https://github.com/jfpuget/Tidy-Data/blob/master/Tidy-Data.ipynb)\n", "* http://www.jeannicholashould.com/tidy-data-in-python.html\n", "\n", "### Jupyter notebook/lab\n", "* [Notebook tips & tricks, keyboard shortcuts & \"magic\"](https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/)\n", "* [Useful Jupyter notebooks](https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks)\n", "\n", "### R & python\n", "* [use R in jupyter notebooks](http://www.randalolson.com/2013/01/14/filling-in-pythons-gaps-in-statistics-packages-with-rmagic/).\n", "- https://github.com/JaredStufft/instructionals/blob/master/Interfacing%20R%20from%20a%20Python%20Notebook.ipynb\n", "- https://gist.github.com/simecek/019d87c55fec3839d95bbf8489dde61d\n", "\n", "### Visualization\n", "* https://dsaber.com/2016/10/02/a-dramatic-tour-through-pythons-data-visualization-landscape-including-ggplot-and-altair/\n", "* http://pbpython.com/python-vis-flowchart.html\n", "* http://pythonplot.com/\n", "* http://pbpython.com/visualization-tools-1.html\n", "* https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/\n", "* https://tomaugspurger.github.io/modern-6-visualization\n", "* [Advanced pandas/seaborn tutorial](https://tryolabs.com/blog/2017/03/16/pandas-seaborn-a-guide-to-handle-visualize-data-elegantly)\n", "* https://www.marsja.se/response-time-distributions-using-python/\n", "* [Understanding Matplotlib](http://pbpython.com/effective-matplotlib.html) \n", "* https://towardsdatascience.com/interactive-visualizations-in-jupyter-notebook-3be02ab2b8cd\n", "\n", "### Analyses:\n", "* [Multilevel Logistic Regression using PyMC3](https://dansaber.wordpress.com/2016/08/27/analyze-your-experiment-with-a-multilevel-logistic-regression-using-pymc3%E2%80%8B/)\n", "* https://github.com/aloctavodia/Statistical-Rethinking-with-Python-and-PyMC3\n", "* [Python for social scientists](http://nealcaren.github.io/python-tutorials/) " ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "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.3" } }, "nbformat": 4, "nbformat_minor": 4 }