-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathanalysis-demographics-and-practice-data.R
73 lines (55 loc) · 6.61 KB
/
analysis-demographics-and-practice-data.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
# Moodmecodynamics: Roel van Dooren, Roy de Kleijn, Bernhard Hommel, & Zsuzsika Sjoerds
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
### Last adjustment on: 27-01-2020
rm(list = ls()) # Clean workspace.
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
# Load the main workspace -------------------------------------------------
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
load("./workspaces/general-workspace.RData")
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
# Import libraries --------------------------------------------------------
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
ipak <- function(pkg) {
new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
if (length(new.pkg))
install.packages(new.pkg, dependencies = T)
sapply(pkg, require, character.only = T)
}
packages <- c("plyr", "zeallot", "Rmisc", "ggplot2", "cowplot", "MBESS", "rstatix", "psych",
"ez", "apaTables", "dplyr", "data.table") # Make sure to load dplyr after plyr and ggplot2
ipak(packages)
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
# Read demographics datafile ----------------------------------------------
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
demographics <- read.csv2('./data-demographics/demographics.csv', header = T)
head(demographics)
names(which(with(demographics, table(ID)) > 1)) # Good, we don't have any double participant numbers
# Remove subject 9 and 91 as they did not complete the full experiment
demographics <- demographics[-which(demographics$ID %in% c(9, 91)), ]
# Check gender distribution
with(demographics, table(Sex))
# Check mean age and SD
summarySE(demographics, measurevar = 'Age', na.rm = T)
# Check age range
min(demographics$Age); max(demographics$Age)
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
# Read foraging practice datafiles ----------------------------------------
###########################################################################################################################################################################################################################################################################################################################################################################################################################################
practice_dat <- data.frame()
for (f in list.files('./data-foraging-practice/', full.names = T)) {
data <- read.csv2(f, dec='.', sep=',', header = TRUE, stringsAsFactors = FALSE)
# Only process datafiles of participants that will not be ommited from the data (see line 83 of analysis.R).
if (!unique(data$expStartTime) %in% expStartTime_to_remove) { # Removes subjects 9 and 91.
# If required, replace subjectID based on expStartTime (see line 84).
if (unique(data$expStartTime) %in% as.numeric(names(expStartTime_to_recode))) {
data$subjectID = expStartTime_to_recode[which(unique(data$expStartTime) == as.numeric(names(expStartTime_to_recode)))][[1]]
}
practice_dat <- rbind(practice_dat, data)
}
}
# Check whether the data is complete for all subjects
names(which(with(practice_dat, table(subjectID)) != 1)) # All fine!
# Check the mean duration of the practice trial
summarySE(practice_dat, measurevar = 'totaltrialtime', na.rm = T)