library(plyr) library(tidyverse) library(gridExtra) library(cowplot) library(data.table) library(extrafont) loadfonts(device = "win") par(family = "LM Roman 10") #source("CI-Functions.R") source("CI-Functions-Bonferroni.R") defaultpath <- dirname(rstudioapi::getActiveDocumentContext()$path) setwd(defaultpath) # Select phase to analyze, for the analysis per task we consider only the main phase phase <- '_main' file_data <- paste0("aggregated_data", phase,".csv") if (exists ("mydata")) { rm(mydata) } mydata <- read.table(file_data, header=T, sep=",") # collect all trials in order to calculate average error rate and time per question per participant, keep non training trials (isTraining = "False") tmp <- mydata tmp <- tmp [ order(tmp$user, tmp$vis), ] # ALL TASKS tasks <- c('A', 'B', 'C', 'D', 'E') tasks_names <- c('Base Locations', 'Base Time', 'Distance', 'Direction', 'Adjacency') plots <- list() ## SETUP FILES time_per_task <- file("./plots/per_task/time_per_task_latex_table.txt") error_per_task <- file("./plots/per_task/error_per_task_latex_table.txt") all_lines_time <- c("\\begin{table}[]","\\begin{tabular}{l|l|l}", " & Mean times & Mean Time diffs \\\\ \\hline") all_lines_error <- c("\\begin{table}[]","\\begin{tabular}{l|l|l}", " & Mean Errors & Mean Error diffs \\\\ \\hline") next_line <- 4 i = 1 theme_set(theme_gray(base_size = 12)) for (i in 1:5) { task <- tasks[i] task_name <- tasks_names[i] ##### MAIN path <- 'plots/per_task/raw' # READ TIME filename_time <- paste0(path, '/printed_time_means_task_', task, phase,'.txt', sep='') printed_time <- read.table(filename_time, header = T, sep = ',') colnames(printed_time)[colnames(printed_time)=="upperBound_CI."] <- "upperBound_CI" filename_timediff <- paste0(path, '/printed_time_diffs_task_', task, phase, '.txt', sep='') printed_timediff <- read.table(filename_timediff, header = T, sep = ',') new_line_time <- paste0(task_name, "&", "\\begin{tabular}[c]{@{}l@{}}") for (c in 1:3) { tech <- printed_time[[1]][[c]] mean <- format(round(as.numeric(printed_time[[2]][[c]]), 2), nsmall = 2) minCI_raw <- round(as.numeric(printed_time[[3]][[c]]), 2) maxCI_raw <- round(as.numeric(printed_time[[4]][[c]]), 2) minCI <- format(min(minCI_raw, maxCI_raw), nsmall = 2) maxCI <- format(max(minCI_raw, maxCI_raw), nsmall = 2) new_line_time <- paste0(new_line_time, tech, " ", mean, "[", minCI, ",", maxCI, "]") if(c != 3){ new_line_time <- paste(new_line_time, "\\\\") } } new_line_time <- paste(new_line_time, "\\end{tabular}", "&") new_line_time <- paste(new_line_time, "\\begin{tabular}[c]{@{}l@{}}") for (c in 1:3) { tech <- printed_timediff[[1]][[c]] mean <- format(round(as.numeric(printed_timediff[[2]][[c]]), 2), nsmall = 2) minCI_raw <- round(as.numeric(printed_timediff[[3]][[c]]), 2) maxCI_raw <- round(as.numeric(printed_timediff[[4]][[c]]), 2) minCI <- format(min(minCI_raw, maxCI_raw), nsmall = 2) maxCI <- format(max(minCI_raw, maxCI_raw), nsmall = 2) new_line_time <- paste0(new_line_time, tech, " ", mean, "[", minCI, ", ", maxCI, "]") if(c != 3){ new_line_time <- paste(new_line_time, "\\\\") } } new_line_time <- paste(new_line_time,"\\end{tabular}", "\\\\") all_lines_time[[next_line]] <- new_line_time # READ ERROR filename_error <- paste0(path, '/printed_error_means_task_', task, phase, '.txt', sep='') printed_error <- read.table(filename_error, header = T, sep = ',') colnames(printed_error)[colnames(printed_error)=="upperBound_CI."] <- "upperBound_CI" filename_errordiff <- paste0(path, '/printed_error_diffs_task_', task, phase, '.txt', sep='') printed_errordiff <- read.table(filename_errordiff, header = T, sep = ',') new_line_error <- paste0(task_name, "&", "\\begin{tabular}[c]{@{}l@{}}") for (c in 1:3) { tech <- printed_error[[1]][[c]] mean <- format(round(as.numeric(printed_error[[2]][[c]]), 2), nsmall = 2) minCI_raw <- round(as.numeric(printed_error[[3]][[c]]), 2) maxCI_raw <- round(as.numeric(printed_error[[4]][[c]]), 2) minCI <- format(min(minCI_raw, maxCI_raw), nsmall = 2) maxCI <- format(max(minCI_raw, maxCI_raw), nsmall = 2) new_line_error <- paste0(new_line_error, tech, " ", mean, "[", minCI, ", ", maxCI, "]") if(c != 3){ new_line_error <- paste(new_line_error, "\\\\") } } new_line_error <- paste(new_line_error, "\\end{tabular}", "&") new_line_error <- paste(new_line_error, "\\begin{tabular}[c]{@{}l@{}}") for (c in 1:3) { tech <- printed_errordiff[[1]][[c]] mean <- format(round(as.numeric(printed_errordiff[[2]][[c]]), 2), nsmall = 2) minCI_raw <- round(as.numeric(printed_errordiff[[3]][[c]]), 2) maxCI_raw <- round(as.numeric(printed_errordiff[[4]][[c]]), 2) minCI <- format(min(minCI_raw, maxCI_raw), nsmall = 2) maxCI <- format(max(minCI_raw, maxCI_raw), nsmall = 2) new_line_error <- paste0(new_line_error, tech, " ", mean, "[", minCI, ", ", maxCI, "]") if(c != 3){ new_line_error <- paste(new_line_error, "\\\\") } } new_line_error <- paste(new_line_error, "\\end{tabular}", "\\\\") all_lines_error[[next_line]] <- new_line_error next_line <- next_line + 1 } all_lines_time[[next_line]] <- "\\end{tabular}" all_lines_error[[next_line]] <- "\\end{tabular}" next_line <- next_line + 1 all_lines_time[[next_line]] <- "\\end{table}" all_lines_error[[next_line]] <- "\\end{table}" writeLines(c(all_lines_time), time_per_task) writeLines(c(all_lines_error), error_per_task) close(time_per_task) close(error_per_task)