# This script was made by Joshua Balsters at Gorilla to organise data from the Attention Gorilla Academy course. 22/09/2020 library(dplyr) library(stringr) # clear environment rm(list=ls()) # set working directory setwd("~/Dropbox (Cauldron)/Cauldron Team Folder/Sales and Marketing/Research Methods Course/Materials/Attention/analysis/data_exp_25592-v9") # load data files MR<-read.csv("data_exp_25592-v9_task-9ts7.csv",header=TRUE,sep=",") ML<-read.csv("data_exp_25592-v9_task-xgtr.csv",header=TRUE,sep=",") WR<-read.csv("data_exp_25592-v9_task-x8g2.csv",header=TRUE,sep=",") WL<-read.csv("data_exp_25592-v9_task-3mji.csv",header=TRUE,sep=",") count<-0 #set count to 0 task_data<-data.frame() # create empty variable for data for (j in 1:4) { if (j==1) { data<-WL attend<-"Women" } else if (j==2) { data<-WR attend<-"Women" } else if (j==3) { data<-ML attend<-"Men" } else if (j==4) { data<-MR attend<-"Men" } # find unique IDs from task.csv IDs<-unique(data$Participant.Private.ID) IDs<-IDs[!is.na(IDs)] # sometimes last value of IDs is NA so this removes that from vector ID_length<-length(IDs) for (i in 1:ID_length) { # for time being select first ID from above currentID<-IDs[i] print(currentID) # filter out single participant SS_data<-filter(data,data$Participant.Private.ID==currentID) SS_data<-SS_data %>% select(Participant.Private.ID,Screen.Name,Zone.Type,Reaction.Time,Response,display) %>% filter(str_detect(Zone.Type, "response")) # load pre check tone total<-SS_data %>% filter(display=="Check", Screen.Name=="Screen 3") %>% select(Response) # load task check total[2]<-SS_data %>% filter(display=="Task", Screen.Name=="Screen 6") %>% select(Response) if (j==1 | j==3) { total[3]<-"Left" } else if (j==2 | j==4) { total[3]<-"Right" } # load task Q1 total[4]<-SS_data %>% filter(display=="Task", Screen.Name=="Screen 2") %>% select(Response) if (total[4]=="Yes") { total[5]<-SS_data %>% filter(display=="Task", Screen.Name=="Screen 3") %>% select(Response) } else { total[5]<-NA } # load task Q2 total[6]<-SS_data %>% filter(display=="Task", Screen.Name=="Screen 4") %>% select(Response) if (total[6]=="Yes") { total[7]<-SS_data %>% filter(display=="Task", Screen.Name=="Screen 5") %>% select(Response) } else { total[7]<-NA } # load control check total[8]<-SS_data %>% filter(display=="Control", Screen.Name=="Screen 6") %>% select(Response) if (j==1 | j==4) { total[9]<-"Right" } else if (j==2 | j==3) { total[9]<-"Left" } # load control Q1 total[10]<-SS_data %>% filter(display=="Control", Screen.Name=="Screen 2") %>% select(Response) if (total[10]=="Yes") { total[11]<-SS_data %>% filter(display=="Control", Screen.Name=="Screen 3") %>% select(Response) } else { total[11]<-NA } # load control Q2 total[12]<-SS_data %>% filter(display=="Control", Screen.Name=="Screen 4") %>% select(Response) if (total[12]=="Yes") { total[13]<-SS_data %>% filter(display=="Control", Screen.Name=="Screen 5") %>% select(Response) } else { total[13]<-NA } count<-count+1 # add 1 at the end of each subject loop to move data to correct row task_data[count,1:15]<-c(currentID,attend,total) } } # column names for data file names(task_data)[1] <- "ID" names(task_data)[2] <- "attend" names(task_data)[3] <- "check_tone" names(task_data)[4] <- "task_check" names(task_data)[5] <- "task_check_answer" names(task_data)[6] <- "task_Q1" names(task_data)[7] <- "task_Q1comment" names(task_data)[8] <- "task_Q2" names(task_data)[9] <- "task_Q2comment" names(task_data)[10] <- "ctrl_check" names(task_data)[11] <- "ctrl_check_answer" names(task_data)[12] <- "ctrl_Q1" names(task_data)[13] <- "ctrl_Q1comment" names(task_data)[14] <- "ctrl_Q2" names(task_data)[15] <- "ctrl_Q2comment" write.csv(task_data, file="all_data_22092020.csv")