Set up R environment
library(tidyverse)
library(ggplot2)
library(ggpubr)
library(plyr)
library(magick)
library(png)
library(EBImage)
library(lme4)
library(lmerTest)
Set the R working drectory to the main experiment directory.
setwd("/Users/adambarnas/Box/MetaAwareness/data/")
Read in data files.
Rensink_RTs_likelihood_no_NA <- read_csv("Rensink_RTs_likelihood_no_NA.csv")
Ma_RTs_likelihood_no_NA <- read_csv("Ma_RTs_likelihood_no_NA.csv")
Wolfe1_RTs_likelihood_no_NA <- read_csv("Wolfe1_RTs_likelihood_no_NA.csv")
tbl_all <- rbind(Rensink_RTs_likelihood_no_NA, Ma_RTs_likelihood_no_NA, Wolfe1_RTs_likelihood_no_NA)
Compute average likelihood rating.
tbl_all_subj_avg <- tbl_all %>%
group_by(workerId,image) %>%
dplyr::summarize(average = mean(likelihood_rating)) %>%
spread(image,average) %>%
mutate(subj_avg = rowMeans(.[-1], na.rm = TRUE))
mean(tbl_all_subj_avg$subj_avg)
## [1] 3.242547
Mixed effects model and correlation.
fit0 <- lmer(detection_rt ~ likelihood_rating + (1 | workerId) + (1 | image) + (1 | stim_set), data=tbl_all)
summary(fit0)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: detection_rt ~ likelihood_rating + (1 | workerId) + (1 | image) +
## (1 | stim_set)
## Data: tbl_all
##
## REML criterion at convergence: 7185.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.5470 -0.4288 -0.1369 0.1354 8.9576
##
## Random effects:
## Groups Name Variance Std.Dev.
## image (Intercept) 0.884 0.9402
## workerId (Intercept) 4.115 2.0285
## stim_set (Intercept) 0.588 0.7668
## Residual 13.641 3.6934
## Number of obs: 1285, groups: image, 223; workerId, 54; stim_set, 3
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 10.13469 0.63045 3.87594 16.075 0.000108 ***
## likelihood_rating -0.36836 0.09514 791.31672 -3.872 0.000117 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr)
## liklhd_rtng -0.491
corr <- tbl_all %>%
group_by(image) %>%
dplyr::summarize(detection_rt = mean(detection_rt), likelihood_rating = mean(likelihood_rating))
corr %>%
ggscatter(y = "detection_rt", x = "likelihood_rating", ylab = "Change Detection RT (sec)", xlab = "Likelihood of Detecting Change", fill = "#f7a800", color = "#f7a800", add = "reg.line", cor.coef = TRUE, cor.coeff.args = list(method = "pearson", label.x = 1, label.y = 5, label.sep = "\n"), xlim = c(1, 5), ylim = c(0, 25))
