library(tidyverse)
library(ggplot2)
library(ggpubr)
library(plyr)
library(magick)
library(png)
library(EBImage)
library(lme4)
library(lmerTest)
setwd("/Users/adambarnas/Box/MetaAwareness/data/")
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")
Wolfe2_RTs_likelihood_no_NA <- read_csv("Wolfe2_RTs_likelihood_no_NA.csv")
tbl_all <- rbind(Rensink_RTs_likelihood_no_NA, Ma_RTs_likelihood_no_NA, Wolfe1_RTs_likelihood_no_NA, Wolfe2_RTs_likelihood_no_NA)
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.118165
fit_raw <- lmer(detection_rt ~ likelihood_rating * change_type + (1 | workerId) + (1 | image) + (1 | stim_set), data=tbl_all)
summary(fit_raw)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: detection_rt ~ likelihood_rating * change_type + (1 | workerId) +
## (1 | image) + (1 | stim_set)
## Data: tbl_all
##
## REML criterion at convergence: 21930.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.5091 -0.4204 -0.1191 0.1349 8.4728
##
## Random effects:
## Groups Name Variance Std.Dev.
## image (Intercept) 1.5762 1.2555
## workerId (Intercept) 8.8350 2.9724
## stim_set (Intercept) 0.2357 0.4855
## Residual 22.5100 4.7445
## Number of obs: 3594, groups: image, 479; workerId, 157; stim_set, 4
##
## Fixed effects:
## Estimate Std. Error df
## (Intercept) 12.18030 0.65287 11.74828
## likelihood_rating -0.52271 0.14572 2514.81913
## change_typedisappear -1.24944 0.63878 1096.16484
## change_typemovement -2.51826 0.93216 1605.80051
## change_typereplacement -0.96918 2.79736 2775.36288
## change_typesize -2.94424 1.26784 1365.76434
## likelihood_rating:change_typedisappear 0.10176 0.16738 2511.44253
## likelihood_rating:change_typemovement 0.34464 0.28182 3451.63417
## likelihood_rating:change_typereplacement -0.02988 0.77479 3354.56997
## likelihood_rating:change_typesize 0.32073 0.37769 2773.42153
## t value Pr(>|t|)
## (Intercept) 18.657 4.31e-10 ***
## likelihood_rating -3.587 0.000341 ***
## change_typedisappear -1.956 0.050723 .
## change_typemovement -2.702 0.006975 **
## change_typereplacement -0.346 0.729021
## change_typesize -2.322 0.020366 *
## likelihood_rating:change_typedisappear 0.608 0.543284
## likelihood_rating:change_typemovement 1.223 0.221448
## likelihood_rating:change_typereplacement -0.039 0.969238
## likelihood_rating:change_typesize 0.849 0.395843
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) lklhd_ chng_typd chng_typm chng_typr chng_typs
## liklhd_rtng -0.756
## chng_typdsp -0.706 0.728
## chng_typmvm -0.502 0.543 0.480
## chng_typrpl -0.173 0.183 0.163 0.140
## chang_typsz -0.371 0.395 0.350 0.330 0.115
## lklhd_rtng:chng_typd 0.634 -0.829 -0.877 -0.453 -0.152 -0.329
## lklhd_rtng:chng_typm 0.369 -0.493 -0.369 -0.849 -0.093 -0.232
## lklhd_rtng:chng_typr 0.144 -0.189 -0.140 -0.105 -0.905 -0.080
## lklhd_rtng:chng_typs 0.282 -0.371 -0.277 -0.234 -0.069 -0.849
## lklhd_rtng:chng_typd lklhd_rtng:chng_typm
## liklhd_rtng
## chng_typdsp
## chng_typmvm
## chng_typrpl
## chang_typsz
## lklhd_rtng:chng_typd
## lklhd_rtng:chng_typm 0.422
## lklhd_rtng:chng_typr 0.158 0.097
## lklhd_rtng:chng_typs 0.313 0.222
## lklhd_rtng:chng_typr
## liklhd_rtng
## chng_typdsp
## chng_typmvm
## chng_typrpl
## chang_typsz
## lklhd_rtng:chng_typd
## lklhd_rtng:chng_typm
## lklhd_rtng:chng_typr
## lklhd_rtng:chng_typs 0.075
corr <- tbl_all %>%
group_by(image) %>%
dplyr::summarize(detection_rt = mean(detection_rt), likelihood_rating = mean(likelihood_rating), change_type = unique(change_type))
corr %>%
ggscatter(y = "detection_rt", x = "likelihood_rating", ylab = "Raw Change Detection RT (sec)", xlab = "Likelihood of Detecting Change", title = "N = 154", add = "reg.line", cor.coef = TRUE, cor.coeff.args = list(method = "pearson", label.x = 1, label.y = 40), conf.int = TRUE, xlim = c(1, 5), ylim = c(5, 40))
corr %>%
ggscatter(y = "detection_rt", x = "likelihood_rating", color = "change_type", palette = c("#0d2240", "#00a8e1", "#f7a800", "#E31818", "#dfdddc"), ylab = "Raw Change Detection RT (sec)", xlab = "Likelihood of Detecting Change", title = "N = 154", add = "reg.line", conf.int = TRUE, xlim = c(1, 5), ylim = c(5, 40)) + stat_cor(aes(color = change_type), label.x = 1, label.y = c(30, 32.5, 35, 37.5, 40), method = "pearson")
Drop image-116 from Wolfe1.
tbl_all_no_outlier <- tbl_all %>%
filter(image != "image-116")
fit_raw_no_outlier <- lmer(detection_rt ~ likelihood_rating * change_type + (1 | workerId) + (1 | image), data=tbl_all_no_outlier)
summary(fit_raw_no_outlier)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: detection_rt ~ likelihood_rating * change_type + (1 | workerId) +
## (1 | image)
## Data: tbl_all_no_outlier
##
## REML criterion at convergence: 21865.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.5294 -0.4223 -0.1219 0.1331 8.5204
##
## Random effects:
## Groups Name Variance Std.Dev.
## image (Intercept) 1.421 1.192
## workerId (Intercept) 8.794 2.965
## Residual 22.272 4.719
## Number of obs: 3592, groups: image, 478; workerId, 157
##
## Fixed effects:
## Estimate Std. Error df
## (Intercept) 12.44696 0.58732 1456.58035
## likelihood_rating -0.59238 0.14419 2573.09601
## change_typedisappear -1.35477 0.62487 1630.19706
## change_typemovement -2.76537 0.91708 2158.38713
## change_typereplacement -1.22584 2.76799 2871.07434
## change_typesize -3.19856 1.24678 1641.09734
## likelihood_rating:change_typedisappear 0.16097 0.16562 2521.61698
## likelihood_rating:change_typemovement 0.40544 0.27955 3441.47290
## likelihood_rating:change_typereplacement 0.04331 0.76846 3349.92887
## likelihood_rating:change_typesize 0.39169 0.37397 2763.58912
## t value Pr(>|t|)
## (Intercept) 21.193 < 2e-16 ***
## likelihood_rating -4.108 4.11e-05 ***
## change_typedisappear -2.168 0.0303 *
## change_typemovement -3.015 0.0026 **
## change_typereplacement -0.443 0.6579
## change_typesize -2.565 0.0104 *
## likelihood_rating:change_typedisappear 0.972 0.3312
## likelihood_rating:change_typemovement 1.450 0.1471
## likelihood_rating:change_typereplacement 0.056 0.9551
## likelihood_rating:change_typesize 1.047 0.2950
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) lklhd_ chng_typd chng_typm chng_typr chng_typs
## liklhd_rtng -0.822
## chng_typdsp -0.780 0.736
## chng_typmvm -0.535 0.542 0.482
## chng_typrpl -0.183 0.182 0.163 0.136
## chang_typsz -0.395 0.394 0.353 0.325 0.111
## lklhd_rtng:chng_typd 0.692 -0.830 -0.884 -0.453 -0.152 -0.329
## lklhd_rtng:chng_typm 0.402 -0.492 -0.372 -0.854 -0.092 -0.232
## lklhd_rtng:chng_typr 0.156 -0.188 -0.141 -0.104 -0.907 -0.079
## lklhd_rtng:chng_typs 0.307 -0.371 -0.279 -0.234 -0.068 -0.853
## lklhd_rtng:chng_typd lklhd_rtng:chng_typm
## liklhd_rtng
## chng_typdsp
## chng_typmvm
## chng_typrpl
## chang_typsz
## lklhd_rtng:chng_typd
## lklhd_rtng:chng_typm 0.421
## lklhd_rtng:chng_typr 0.158 0.097
## lklhd_rtng:chng_typs 0.313 0.221
## lklhd_rtng:chng_typr
## liklhd_rtng
## chng_typdsp
## chng_typmvm
## chng_typrpl
## chang_typsz
## lklhd_rtng:chng_typd
## lklhd_rtng:chng_typm
## lklhd_rtng:chng_typr
## lklhd_rtng:chng_typs 0.075
corr %>%
filter(image!="image-116") %>%
ggscatter(y = "detection_rt", x = "likelihood_rating", ylab = "Raw Change Detection RT (sec)", xlab = "Likelihood of Detecting Change", title = "N = 154", add = "reg.line", cor.coef = TRUE, cor.coeff.args = list(method = "pearson", label.x = 1, label.y = 30), conf.int = TRUE, xlim = c(1, 5), ylim = c(5, 30))
corr %>%
filter(image!="image-116") %>%
ggscatter(y = "detection_rt", x = "likelihood_rating", color = "change_type", palette = c("#0d2240", "#00a8e1", "#f7a800", "#E31818", "#dfdddc"), ylab = "Raw Change Detection RT (sec)", xlab = "Likelihood of Detecting Change", title = "N = 154", add = "reg.line", conf.int = TRUE, xlim = c(1, 5), ylim = c(5, 30)) + stat_cor(aes(color = change_type), label.x = 1, label.y = c(22, 23.5, 25, 26.5, 28), method = "pearson")
fit_log <- lmer(log10(detection_rt) ~ likelihood_rating * change_type + (1 | workerId) + (1 | image) + (1 | stim_set), data=tbl_all)
summary(fit_log)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log10(detection_rt) ~ likelihood_rating * change_type + (1 |
## workerId) + (1 | image) + (1 | stim_set)
## Data: tbl_all
##
## REML criterion at convergence: -3790.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.7459 -0.5465 -0.1205 0.3302 5.1445
##
## Random effects:
## Groups Name Variance Std.Dev.
## image (Intercept) 0.0016214 0.04027
## workerId (Intercept) 0.0126077 0.11228
## stim_set (Intercept) 0.0004966 0.02228
## Residual 0.0164874 0.12840
## Number of obs: 3594, groups: image, 479; workerId, 157; stim_set, 4
##
## Fixed effects:
## Estimate Std. Error df
## (Intercept) 1.012e+00 2.146e-02 6.664e+00
## likelihood_rating -1.571e-02 4.048e-03 2.798e+03
## change_typedisappear -3.313e-02 1.800e-02 1.410e+03
## change_typemovement -6.764e-02 2.612e-02 1.845e+03
## change_typereplacement -1.394e-04 7.728e-02 2.725e+03
## change_typesize -7.840e-02 3.563e-02 1.498e+03
## likelihood_rating:change_typedisappear 3.911e-03 4.645e-03 2.732e+03
## likelihood_rating:change_typemovement 9.766e-03 7.762e-03 3.476e+03
## likelihood_rating:change_typereplacement -4.685e-03 2.124e-02 3.381e+03
## likelihood_rating:change_typesize 7.774e-03 1.044e-02 2.948e+03
## t value Pr(>|t|)
## (Intercept) 47.151 1.16e-09 ***
## likelihood_rating -3.881 0.000106 ***
## change_typedisappear -1.840 0.065937 .
## change_typemovement -2.590 0.009677 **
## change_typereplacement -0.002 0.998561
## change_typesize -2.201 0.027919 *
## likelihood_rating:change_typedisappear 0.842 0.399825
## likelihood_rating:change_typemovement 1.258 0.208395
## likelihood_rating:change_typereplacement -0.221 0.825417
## likelihood_rating:change_typesize 0.745 0.456385
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) lklhd_ chng_typd chng_typm chng_typr chng_typs
## liklhd_rtng -0.641
## chng_typdsp -0.600 0.714
## chng_typmvm -0.433 0.539 0.475
## chng_typrpl -0.152 0.185 0.164 0.146
## chang_typsz -0.320 0.391 0.346 0.337 0.121
## lklhd_rtng:chng_typd 0.535 -0.825 -0.865 -0.448 -0.153 -0.325
## lklhd_rtng:chng_typm 0.313 -0.494 -0.364 -0.835 -0.095 -0.233
## lklhd_rtng:chng_typr 0.124 -0.191 -0.139 -0.106 -0.896 -0.081
## lklhd_rtng:chng_typs 0.240 -0.372 -0.273 -0.234 -0.071 -0.836
## lklhd_rtng:chng_typd lklhd_rtng:chng_typm
## liklhd_rtng
## chng_typdsp
## chng_typmvm
## chng_typrpl
## chang_typsz
## lklhd_rtng:chng_typd
## lklhd_rtng:chng_typm 0.422
## lklhd_rtng:chng_typr 0.160 0.099
## lklhd_rtng:chng_typs 0.313 0.225
## lklhd_rtng:chng_typr
## liklhd_rtng
## chng_typdsp
## chng_typmvm
## chng_typrpl
## chang_typsz
## lklhd_rtng:chng_typd
## lklhd_rtng:chng_typm
## lklhd_rtng:chng_typr
## lklhd_rtng:chng_typs 0.077
corr <- tbl_all %>%
group_by(image) %>%
dplyr::summarize(detection_rt = mean(detection_rt), likelihood_rating = mean(likelihood_rating), change_type = unique(change_type))
corr$log <- log10(corr$detection_rt)
corr %>%
ggscatter(y = "log", x = "likelihood_rating", ylab = "LogChange Detection RT (sec)", xlab = "Likelihood of Detecting Change", title = "N = 154", add = "reg.line", cor.coef = TRUE, cor.coeff.args = list(method = "pearson", label.x = 1, label.y = 1.75), conf.int = TRUE, xlim = c(1, 5), ylim = c(0.75, 1.75))
corr %>%
ggscatter(y = "log", x = "likelihood_rating", color = "change_type", palette = c("#0d2240", "#00a8e1", "#f7a800", "#E31818", "#dfdddc"), ylab = "Log Change Detection RT (sec)", xlab = "Likelihood of Detecting Change", title = "N = 154", add = "reg.line", conf.int = TRUE, xlim = c(1, 5), ylim = c(0.75, 1.75)) + stat_cor(aes(color = change_type), label.x = 1, label.y = c(1.50, 1.5625, 1.625, 1.6875, 1.75), method = "pearson")
Drop image-116 from Wolfe1.
tbl_all_no_outlier <- tbl_all %>%
filter(image != "image-116")
fit_log_no_outlier <- lmer(log10(detection_rt) ~ likelihood_rating * change_type + (1 | workerId) + (1 | image), data=tbl_all_no_outlier)
summary(fit_log_no_outlier)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log10(detection_rt) ~ likelihood_rating * change_type + (1 |
## workerId) + (1 | image)
## Data: tbl_all_no_outlier
##
## REML criterion at convergence: -3812.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.7550 -0.5472 -0.1218 0.3318 5.1704
##
## Random effects:
## Groups Name Variance Std.Dev.
## image (Intercept) 0.001538 0.03922
## workerId (Intercept) 0.012735 0.11285
## Residual 0.016417 0.12813
## Number of obs: 3592, groups: image, 478; workerId, 157
##
## Fixed effects:
## Estimate Std. Error df
## (Intercept) 1.021e+00 1.768e-02 1.162e+03
## likelihood_rating -1.719e-02 4.029e-03 2.801e+03
## change_typedisappear -3.520e-02 1.774e-02 1.626e+03
## change_typemovement -7.387e-02 2.585e-02 2.065e+03
## change_typereplacement -6.621e-03 7.683e-02 2.775e+03
## change_typesize -8.480e-02 3.526e-02 1.615e+03
## likelihood_rating:change_typedisappear 5.149e-03 4.622e-03 2.722e+03
## likelihood_rating:change_typemovement 1.103e-02 7.734e-03 3.469e+03
## likelihood_rating:change_typereplacement -3.126e-03 2.116e-02 3.375e+03
## likelihood_rating:change_typesize 9.283e-03 1.039e-02 2.933e+03
## t value Pr(>|t|)
## (Intercept) 57.759 < 2e-16 ***
## likelihood_rating -4.268 2.03e-05 ***
## change_typedisappear -1.984 0.04743 *
## change_typemovement -2.858 0.00431 **
## change_typereplacement -0.086 0.93133
## change_typesize -2.405 0.01629 *
## likelihood_rating:change_typedisappear 1.114 0.26540
## likelihood_rating:change_typemovement 1.427 0.15372
## likelihood_rating:change_typereplacement -0.148 0.88253
## likelihood_rating:change_typesize 0.894 0.37154
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) lklhd_ chng_typd chng_typm chng_typr chng_typs
## liklhd_rtng -0.763
## chng_typdsp -0.732 0.720
## chng_typmvm -0.503 0.538 0.478
## chng_typrpl -0.175 0.184 0.164 0.143
## chang_typsz -0.370 0.390 0.349 0.332 0.118
## lklhd_rtng:chng_typd 0.641 -0.826 -0.870 -0.448 -0.153 -0.325
## lklhd_rtng:chng_typm 0.374 -0.494 -0.367 -0.839 -0.094 -0.232
## lklhd_rtng:chng_typr 0.147 -0.191 -0.140 -0.106 -0.897 -0.081
## lklhd_rtng:chng_typs 0.285 -0.372 -0.275 -0.234 -0.070 -0.839
## lklhd_rtng:chng_typd lklhd_rtng:chng_typm
## liklhd_rtng
## chng_typdsp
## chng_typmvm
## chng_typrpl
## chang_typsz
## lklhd_rtng:chng_typd
## lklhd_rtng:chng_typm 0.422
## lklhd_rtng:chng_typr 0.160 0.099
## lklhd_rtng:chng_typs 0.313 0.225
## lklhd_rtng:chng_typr
## liklhd_rtng
## chng_typdsp
## chng_typmvm
## chng_typrpl
## chang_typsz
## lklhd_rtng:chng_typd
## lklhd_rtng:chng_typm
## lklhd_rtng:chng_typr
## lklhd_rtng:chng_typs 0.077
corr$log <- log10(corr$detection_rt)
corr %>%
filter(image!="image-116") %>%
ggscatter(y = "log", x = "likelihood_rating", ylab = "Raw Change Detection RT (sec)", xlab = "Likelihood of Detecting Change", title = "N = 154", add = "reg.line", cor.coef = TRUE, cor.coeff.args = list(method = "pearson", label.x = 1, label.y = 1.4), conf.int = TRUE, xlim = c(1, 5), ylim = c(.75, 1.5))
corr %>%
filter(image!="image-116") %>%
ggscatter(y = "log", x = "likelihood_rating", color = "change_type", palette = c("#0d2240", "#00a8e1", "#f7a800", "#E31818", "#dfdddc"), ylab = "Raw Change Detection RT (sec)", xlab = "Likelihood of Detecting Change", title = "N = 154", add = "reg.line", conf.int = TRUE, xlim = c(1, 5), ylim = c(.75, 1.5)) + stat_cor(aes(color = change_type), label.x = 1, label.y = c(1.3, 1.35, 1.4, 1.45, 1.5), method = "pearson")