library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(tibble)
library(magrittr)
setwd("D:/UIUC/Becklab/Master project/John's data")
data = read_excel("dissertation_experiment_5_data.xlsx",sheet=1)

accuracy_check = 
  data %>%
  group_by(Subject) %>%
  summarise(accuracy = mean(accuracy, na.rm = TRUE))

accuracy_cutoff = .6
good_subjs = accuracy_check$Subject[which(accuracy_check$accuracy > accuracy_cutoff)]
diffs = as_tibble(matrix(ncol = 4, nrow = (length(good_subjs) * 2)))
colnames(diffs) = c("participant", "accuracy", "rt", "condition")
diffs$participant = rep(good_subjs, 2)
diffs$condition = 
  c(rep("w/ flanker_valid - invalid", length(good_subjs)), 
    rep("w/o flanker_valid - invalid", length(good_subjs)))
for (i in 1:length(good_subjs)) {
  current = filter(data, Subject == good_subjs[i])
  diffs$accuracy[i] = current$accuracy[3] - (current$accuracy[1]+current$accuracy[2])/2
  diffs$rt[i] = current$accuracy[3] - (current$accuracy[1]+current$accuracy[2])/2
  diffs$accuracy[i + length(good_subjs)] = current$accuracy[6] - (current$accuracy[4]+current$accuracy[5])/2
  diffs$rt[i + length(good_subjs)] = current$accuracy[6] - (current$accuracy[4]+current$accuracy[5])/2
}
datums = 
  data %>%
  group_by(condition) %>%
  summarise(accuracy = mean(accuracy), rt = mean(rt))

print.data.frame(datums)
##                     condition  accuracy       rt
## 1 flankers_invalid_horizontal 0.7434211 696.8832
## 2   flankers_invalid_vertical 0.6885965 706.8745
## 3              flankers_valid 0.8081140 620.3122
## 4          invalid_horizontal 0.9221491 631.0613
## 5            invalid_vertical 0.8771930 642.7094
## 6                       valid 0.9413377 566.6804
validity_w_flanker = mean(diffs$accuracy[diffs$condition == 'w/ flanker_valid - invalid'])
validity_w_flanker
## [1] 0.09210526
validity_no_flanker =mean(diffs$accuracy[diffs$condition == 'w/o flanker_valid - invalid'])
validity_no_flanker 
## [1] 0.04166667
t.test(diffs$accuracy[diffs$condition == 'w/ flanker_valid - invalid'],
       diffs$accuracy[diffs$condition == 'w/o flanker_valid - invalid'], paired=T)
## 
##  Paired t-test
## 
## data:  diffs$accuracy[diffs$condition == "w/ flanker_valid - invalid"] and diffs$accuracy[diffs$condition == "w/o flanker_valid - invalid"]
## t = 2.0508, df = 18, p-value = 0.05513
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.001232426  0.102109619
## sample estimates:
## mean of the differences 
##               0.0504386