Metadata-Version: 2.1
Name: aat-analysis
Version: 0.0.1
Summary: This project analyzes mobile AAT data.
Home-page: https://github.com/hgzech/aat_analysis/tree/master/
Author: Hilmar Zech
Author-email: hgzech@gmail.com
License: Apache Software License 2.0
Keywords: approach-avoidance-task AAT approach avoidance mobile maat
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pip
Requires-Dist: packaging
Requires-Dist: scipy
Requires-Dist: pandas
Requires-Dist: tqdm
Requires-Dist: peakutils
Requires-Dist: matplotlib
Provides-Extra: dev

# AAT Analysis
> This package helps with analyzing mobile AAT data.


## Install

`pip install aat_analysis`

## How to use

```python
#%run utils.ipynb # Some utility functions
#%run make_condition_templates.ipynb # Defines expected data based on resources
#%run json_to_df.ipynb # Turns raw json data into dataframes and calculates responses, rts, and force
```

```python
from aat_analysis.make_condition_templates import make_condition_templates
from aat_analysis.json_to_df import json_to_df
from aat_analysis.utils import merge_data

#from aat_analysis.
```

### Define folder paths
- raw should include the raw data from your experiment
- external should include the contents of the Resources folder of your experiment app
- interim and processed can be empty

```python
external_folder = "../data/external/"
interim_folder = "../data/interim/"
raw_data_folder = "../data/raw/"
processed_data_file = "../data/processed/data.csv"
```

### Preprocess data

```python
# Creates empty dataframes to define expected data for each condition
templates = make_condition_templates(external_folder)
# Preprocesses data for each participant and moves it to interim
json_to_df(raw_data_folder, external_folder, interim_folder, templates)
# Merges interim data and stores it for further analysis
data = merge_data(interim_folder, drop=['interpolated','interpolated_gyro'])
data.to_csv(processed_data_file)
```

    100%|█████████████████████████████████████████████| 3/3 [00:27<00:00,  9.24s/it]


### AAT data
The selected columns below contain all data needed to calculate approach tendencies for each session, participant, and stimulus type.  The additional data in the dataframe (not shown) are answers to other questions and some additional AAT variables.

```python
data[['participant','condition','session','trial','is_practice','stimulus_set','stimulus','correct_response','response','accuracy','rt','force']]
```


    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }


       participant
       condition
       session
       trial
       is_practice
       stimulus_set
       stimulus
       correct_response
       response
       accuracy
       rt
       force

       0
       kmahu0zq
       condition_2
       final_session
       1
       False
       None
       None
       None
       NA
       False
       NaN
       NaN

       1
       kmahu0zq
       condition_2
       introduction_session_2
       1
       True
       practice_food
       stim_0154
       push
       ND
       False
       NaN
       8.124186

       2
       kmahu0zq
       condition_2
       introduction_session_2
       2
       True
       practice_objects
       stim_1276
       pull
       pull
       True
       1206.0
       12.130466

       3
       kmahu0zq
       condition_2
       introduction_session_2
       3
       True
       practice_objects
       stim_1264
       pull
       ND
       False
       NaN
       1.651279

       4
       kmahu0zq
       condition_2
       introduction_session_2
       4
       True
       practice_objects
       stim_1277
       pull
       pull
       True
       629.0
       18.342323

       ...
       ...
       ...
       ...
       ...
       ...
       ...
       ...
       ...
       ...
       ...
       ...
       ...

       6166
       kmah8va6
       condition_2
       push_food_before_lunch_d5
       132
       False
       unhealthy_tempting
       stim_0025
       pull
       pull
       True
       346.0
       9.024626

       6167
       kmah8va6
       condition_2
       push_food_before_lunch_d5
       133
       False
       unhealthy_non_tempting
       stim_0125
       pull
       pull
       True
       363.0
       5.820239

       6168
       kmah8va6
       condition_2
       push_food_before_lunch_d5
       134
       False
       healthy_non_tempting
       stim_0226
       pull
       pull
       True
       492.0
       8.345508

       6169
       kmah8va6
       condition_2
       push_food_before_lunch_d5
       135
       False
       healthy_tempting
       stim_0201
       pull
       pull
       True
       450.0
       5.539470

       6170
       kmah8va6
       condition_2
       push_food_before_lunch_d5
       136
       False
       objects
       stim_1035
       push
       pull
       False
       308.0
       6.589124

6171 rows × 12 columns

