library(plyr) library(tidyverse) library(gridExtra) library(gridExtra) library(grid) #source("CI-Functions.R") source("CI-Functions-Bonferroni_m.R") defaultpath <- dirname(rstudioapi::getActiveDocumentContext()$path) setwd(defaultpath) all_data <- read.table("user_answers_ms.csv", header=T, sep=",") # Remove training all_data <- all_data %>% filter(question_config != 'T') # Summarize by task data <- all_data %>% select(user, vis, question_code, time, is_correct) data <- data %>% group_by(user, question_code, vis) %>% summarise(time=mean(time), error=sum(is_correct=='False')/3) #data <- data %>% mutate(vis=case_when(vis == 'Symbol' ~ "Gly", # vis == 'Dorling' ~ "Dor", # vis == 'Barchart' ~ "Bar"), # time=time/1000, # error=error*100) data$vis <- revalue(data$vis, c("Symbol"="Gly")) data$vis <- revalue(data$vis, c("Dorling"="Dor")) data$vis <- revalue(data$vis, c("Barchart"="Bar")) data <- data %>% mutate(time=time/1000, error=error*100) # ALL TASKS tasks <- c('A', 'D', 'G', 'B', 'E', 'H', 'C', 'F', 'I') participant <- 'participant_18' plots <- list() df <- data.frame() dummyplot <- grid.rect(gp=gpar(col="white")) plots[[1]] <- arrangeGrob(dummyplot, dummyplot, top="One time", ncol = 2) for (i in 2:9) { task <- tasks[i] task_data <- data %>% filter(question_code==task, user==participant) # READ TIME filename_time <- paste0('plots/printed_time_means_task_', task, '.txt', sep='') printed_time <- read.table(filename_time, header = T, sep = ',') colnames(printed_time)[colnames(printed_time)=="upperBound_CI."] <- "upperBound_CI" # READ ERROR filename_error <- paste0('plots/printed_error_means_task_', task, '.txt', sep='') printed_error <- read.table(filename_error, header = T, sep = ',') colnames(printed_error)[colnames(printed_error)=="upperBound_CI."] <- "upperBound_CI" # PLOT TIME xlabel <- paste0('Mean time ', task, sep='') plot_time <- eval(substitute( ggplot(printed_time, aes(x=vis, y=mean_time)) + geom_errorbar(aes(ymin=lowerBound_CI, ymax=upperBound_CI), width=0, # Width of the error bars size=1, color='blue') + geom_point(size=2, colour='blue') + scale_y_continuous(limits = c(0, 100)) + geom_point(data=task_data, aes(x=vis, y=time)) + ylab('') + coord_flip())) # PLOT ERROR xlabel <- paste0('Mean error ', task, sep='') plot_error <- eval(substitute( ggplot(printed_error, aes(x=vis, y=mean_time)) + geom_errorbar(aes(ymin=lowerBound_CI, ymax=upperBound_CI), width=0, # Width of the error bars size=1, color='orange') + geom_point(size=2, colour='orange') + scale_y_continuous(limits = c(0, 100)) + geom_point(data=task_data, aes(x=vis, y=error)) + ylab('') + coord_flip() )) if(task == 'D'){ plots[[i]] <- arrangeGrob(plot_time, plot_error, top="Time interval", ncol = 2) } else if(task == 'G'){ plots[[i]] <- arrangeGrob(plot_time, plot_error, top="All times", ncol = 2) } else{ plots[[i]] <- arrangeGrob(plot_time, plot_error, ncol = 2) } } one_location_grid <- arrangeGrob(plots[[1]], plots[[2]], plots[[3]], left="One Location", ncol = 3) region_grid <- arrangeGrob(plots[[4]], plots[[5]], plots[[6]], left = "Region", ncol = 3) all_locations_grid <- arrangeGrob(plots[[4]], plots[[5]], plots[[6]], left="All locations", ncol = 3) p <- grid.arrange(one_location_grid, region_grid, all_locations_grid, ncol = 1) filename <- paste0("plots/participants/", participant, ".pdf", sep="") ggsave(filename = filename, p, device = "pdf", width=15, height=10)