library(dplyr)
library(tidyr)
library(reshape2)
library(psych)
library(ggplot2)
library(ggcorrplot)
library(GGally)
library(Hmisc)
library(plyr)
library(papaja)3 Descriptives and Exploratory Data Analysis
Loading in data from data cleaning page
load("INDI_data.Rdata")
indi.data$Group = as.factor(indi.data$Group)Missingness - Independent Variables
n and percent present for each IV
# n for each variable
colSums(!is.na(select(indi.data, Arithmetic, backward.span,
letter.numbering, MVPT, PPVT, PPT,
WCST.Persev.Errors,
contains("OOO") & contains("Hit.Rate")))) Arithmetic backward.span letter.numbering MVPT
362 363 363 363
PPVT PPT WCST.Persev.Errors OOO.Color.Hit.Rate
358 363 348 363
OOO.High.Hit.Rate OOO.Low.Hit.Rate OOO.Size.Hit.Rate
363 363 363
# Percent present
round(colSums(!is.na(select(indi.data, Arithmetic, backward.span,
letter.numbering, MVPT, PPVT, PPT,
WCST.percent.Persev.Errors,
contains("OOO") & contains("Hit.Rate")))) /
nrow(indi.data), 4)*100 Arithmetic backward.span
99.72 100.00
letter.numbering MVPT
100.00 100.00
PPVT PPT
98.62 100.00
WCST.percent.Persev.Errors OOO.Color.Hit.Rate
95.87 100.00
OOO.High.Hit.Rate OOO.Low.Hit.Rate
100.00 100.00
OOO.Size.Hit.Rate
100.00
n and percent present for each IV for OAs
# n for each variable
colSums(!is.na(select(filter(indi.data, Group == "OA"), Arithmetic, backward.span,
letter.numbering, MVPT, PPVT, PPT,
WCST.Persev.Errors,
contains("OOO") & contains("Hit.Rate")))) Arithmetic backward.span letter.numbering MVPT
152 152 152 152
PPVT PPT WCST.Persev.Errors OOO.Color.Hit.Rate
152 152 144 152
OOO.High.Hit.Rate OOO.Low.Hit.Rate OOO.Size.Hit.Rate
152 152 152
# Percent present
round(colSums(!is.na(select(filter(indi.data, Group == "OA"), Arithmetic, backward.span,
letter.numbering, MVPT, PPVT, PPT,
WCST.percent.Persev.Errors,
contains("OOO") & contains("Hit.Rate")))) /
nrow(filter(indi.data, Group == "OA")), 4)*100 Arithmetic backward.span
100.00 100.00
letter.numbering MVPT
100.00 100.00
PPVT PPT
100.00 100.00
WCST.percent.Persev.Errors OOO.Color.Hit.Rate
94.74 100.00
OOO.High.Hit.Rate OOO.Low.Hit.Rate
100.00 100.00
OOO.Size.Hit.Rate
100.00
n and percent present for each IV for YAs
# n for each variable
colSums(!is.na(select(filter(indi.data, Group == "YA"), Arithmetic, backward.span,
letter.numbering, MVPT, PPVT, PPT,
WCST.Persev.Errors,
contains("OOO") & contains("Hit.Rate")))) Arithmetic backward.span letter.numbering MVPT
210 211 211 211
PPVT PPT WCST.Persev.Errors OOO.Color.Hit.Rate
206 211 204 211
OOO.High.Hit.Rate OOO.Low.Hit.Rate OOO.Size.Hit.Rate
211 211 211
# Percent present
round(colSums(!is.na(select(filter(indi.data, Group == "YA"), Arithmetic, backward.span,
letter.numbering, MVPT, PPVT, PPT,
WCST.percent.Persev.Errors,
contains("OOO") & contains("Hit.Rate")))) /
nrow(filter(indi.data, Group == "YA")), 4)*100 Arithmetic backward.span
99.53 100.00
letter.numbering MVPT
100.00 100.00
PPVT PPT
97.63 100.00
WCST.percent.Persev.Errors OOO.Color.Hit.Rate
96.68 100.00
OOO.High.Hit.Rate OOO.Low.Hit.Rate
100.00 100.00
OOO.Size.Hit.Rate
100.00
Missingness - False Memory
Note: Using one FA variable per test, as missingness is equivalent across relatedness and confidence.
n and percent present for FM
# n for each variable
colSums(!is.na(select(indi.data, cat.drm.FA.Total.Rates, object.sim.FA.Total.Rates,
schematic.FA.Total.Rates, abstract.img.FA.Total.Rates
))) cat.drm.FA.Total.Rates object.sim.FA.Total.Rates
351 352
schematic.FA.Total.Rates abstract.img.FA.Total.Rates
253 351
# Percent present
round(colSums(!is.na(select(indi.data, cat.drm.FA.Total.Rates, object.sim.FA.Total.Rates,
schematic.FA.Total.Rates, abstract.img.FA.Total.Rates))) /
nrow(indi.data), 4)*100 cat.drm.FA.Total.Rates object.sim.FA.Total.Rates
96.69 96.97
schematic.FA.Total.Rates abstract.img.FA.Total.Rates
69.70 96.69
n and percent present for FM for OAs
# n for each variable
colSums(!is.na(select(filter(indi.data, Group == "OA"), cat.drm.FA.Total.Rates,
object.sim.FA.Total.Rates,
schematic.FA.Total.Rates, abstract.img.FA.Total.Rates))) cat.drm.FA.Total.Rates object.sim.FA.Total.Rates
148 147
schematic.FA.Total.Rates abstract.img.FA.Total.Rates
101 150
# Percent present
round(colSums(!is.na(select(filter(indi.data, Group == "OA"), cat.drm.FA.Total.Rates,
object.sim.FA.Total.Rates,
schematic.FA.Total.Rates, abstract.img.FA.Total.Rates))) /
nrow(filter(indi.data, Group == "OA")), 4)*100 cat.drm.FA.Total.Rates object.sim.FA.Total.Rates
97.37 96.71
schematic.FA.Total.Rates abstract.img.FA.Total.Rates
66.45 98.68
n and percent present for FM for YAs
# n for each variable
colSums(!is.na(select(filter(indi.data, Group == "YA"), cat.drm.FA.Total.Rates,
object.sim.FA.Total.Rates,
schematic.FA.Total.Rates, abstract.img.FA.Total.Rates))) cat.drm.FA.Total.Rates object.sim.FA.Total.Rates
203 205
schematic.FA.Total.Rates abstract.img.FA.Total.Rates
152 201
# Percent present
round(colSums(!is.na(select(filter(indi.data, Group == "YA"), cat.drm.FA.Total.Rates,
object.sim.FA.Total.Rates,
schematic.FA.Total.Rates, abstract.img.FA.Total.Rates))) /
nrow(filter(indi.data, Group == "YA")), 4)*100 cat.drm.FA.Total.Rates object.sim.FA.Total.Rates
96.21 97.16
schematic.FA.Total.Rates abstract.img.FA.Total.Rates
72.04 95.26
Frontal Functioning Descriptives
WCST
Sets completed by age group:
table(indi.data$WCST.Cat.Complete.div.by.Experienced, indi.data$Group)
OA YA
0 Out Of 1 9 1
1 Out Of 2 11 0
2 Out Of 2 1 0
2 Out Of 3 9 4
3 Out Of 4 14 4
4 Out Of 5 10 3
5 Out Of 5 2 0
5 Out Of 6 16 12
6 Out Of 7 11 11
7 Out Of 7 2 1
7 Out Of 8 13 27
8 Out 9 0 1
8 Out Of 8 2 2
8 Out Of 9 9 37
9 Out Of 9 35 101
indi.data$wcst.sets.completed =
substr(indi.data$WCST.Cat.Complete.div.by.Experienced, 1, 1)
indi.data$wcst.sets.completed = as.numeric(indi.data$wcst.sets.completed)
describeBy(indi.data$wcst.sets.completed, indi.data$Group)
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 144 5.4 2.97 5.5 5.57 3.71 0 9 9 -0.28 -1.22 0.25
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 204 7.76 1.75 8 8.12 1.48 0 9 9 -1.77 3.06 0.12
Trials completed by age group:
describeBy(indi.data$WCST.trials, indi.data$Group)
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 144 125.4 5.72 128 126.93 0 106 128 22 -2.07 2.87 0.48
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 204 122.7 7.15 128 123.93 0 102 128 26 -1.1 -0.03 0.5
print(psych::describeBy(indi.data$WCST.Persev.Errors,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 144 20.11 11.8 18 19.44 8.9 0 50 50 0.63 -0.07 0.98
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 204 15.94 7.2 14 14.73 4.45 0 53 53 2.1 5.68 0.5
print(psych::describe(indi.data$WCST.Persev.Errors)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 348 17.66 9.59 15 16.33 5.93 0 53 53 1.31 1.83 0.51
t.test(formula = indi.data$WCST.Persev.Errors ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$WCST.Persev.Errors by indi.data$Group
t = 3.7784, df = 217.48, p-value = 0.0002038
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
1.997131 6.352543
sample estimates:
mean in group OA mean in group YA
20.11111 15.93627
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(WCST.Persev.Errors, na.rm = TRUE))
ggplot(indi.data, aes(x = WCST.Persev.Errors, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 15 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)Arithmetic
print(psych::describeBy(indi.data$Arithmetic,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 10.89 3.25 11 11.03 2.97 3 16 13 -0.42 -0.67 0.26
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 210 9.07 3.53 9 9.11 4.45 2 16 14 -0.14 -1.01 0.24
print(psych::describe(indi.data$Arithmetic)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 362 9.83 3.52 10 9.95 4.45 2 16 14 -0.27 -0.87 0.19
t.test(formula = indi.data$Arithmetic ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$Arithmetic by indi.data$Group
t = 5.0659, df = 340.03, p-value = 6.68e-07
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
1.111343 2.522116
sample estimates:
mean in group OA mean in group YA
10.888158 9.071429
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(Arithmetic, na.rm = TRUE))
ggplot(indi.data, aes(x = Arithmetic, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 1 row containing non-finite outside the scale range
(`stat_density()`).
rm(means)Backward Digit Span
print(psych::describeBy(indi.data$backward.span,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 7.64 2.27 8 7.62 2.97 2 13 11 0.04 -0.3 0.18
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 211 7.32 2.26 7 7.2 1.48 2 14 12 0.52 -0.05 0.16
print(psych::describe(indi.data$backward.span)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 363 7.45 2.27 7 7.37 1.48 2 14 12 0.32 -0.21 0.12
t.test(formula = indi.data$backward.span ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$backward.span by indi.data$Group
t = 1.3562, df = 324.81, p-value = 0.176
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.1474413 0.8018439
sample estimates:
mean in group OA mean in group YA
7.644737 7.317536
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(backward.span, na.rm = TRUE))
ggplot(indi.data, aes(x = backward.span, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")rm(means)Letter numbering
print(psych::describeBy(indi.data$letter.numbering,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 10.05 2.54 10 10.05 2.97 1 18 17 -0.21 1.27 0.21
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 211 10.75 3 11 10.9 2.97 0 19 19 -0.48 0.7 0.21
print(psych::describe(indi.data$letter.numbering)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 363 10.45 2.83 10 10.53 2.97 0 19 19 -0.34 0.83 0.15
t.test(formula = indi.data$letter.numbering ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$letter.numbering by indi.data$Group
t = -2.412, df = 351.77, p-value = 0.01638
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-1.2757987 -0.1297264
sample estimates:
mean in group OA mean in group YA
10.04605 10.74882
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(letter.numbering, na.rm = TRUE))
ggplot(indi.data, aes(x = letter.numbering, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")rm(means)ggpairs(indi.data,
columns = c("WCST.Persev.Errors",
"Arithmetic",
"backward.span",
"letter.numbering"),
title = "Intercorrelations among Frontal Functioning Indicators",
ggplot2::aes(colour = as.character(Group)),
columnLabels = c("WCST", "Arithmetic", "BSpan", "Letter")) +
theme_classic()Semantic Discrimination Descriptives
PPVT
print(psych::describeBy(indi.data$PPVT,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 219.76 5.72 221.5 220.49 5.19 199 228 29 -1.23 1.39 0.46
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 206 195.8 12.81 196 196.46 13.34 142 219 77 -0.6 0.63 0.89
print(psych::describe(indi.data$PPVT)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 358 205.97 15.77 209 207.26 19.27 142 228 86 -0.67 -0.12 0.83
t.test(formula = indi.data$PPVT ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$PPVT by indi.data$Group
t = 23.824, df = 300.92, p-value < 2.2e-16
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
21.97689 25.93433
sample estimates:
mean in group OA mean in group YA
219.7566 195.8010
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(PPVT, na.rm = TRUE))
ggplot(indi.data, aes(x = PPVT, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 5 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)PPT
print(psych::describeBy(indi.data$PPT,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 50.27 1.46 50.5 50.43 1.48 45 52 7 -1 0.93 0.12
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 211 47.05 2.87 47 47.26 2.97 35 52 17 -0.85 1.26 0.2
print(psych::describe(indi.data$PPT)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 363 48.4 2.86 49 48.7 2.97 35 52 17 -1.11 1.56 0.15
t.test(formula = indi.data$PPT ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$PPT by indi.data$Group
t = 13.981, df = 328.85, p-value < 2.2e-16
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
2.766911 3.673037
sample estimates:
mean in group OA mean in group YA
50.26974 47.04976
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(PPT, na.rm = TRUE))
ggplot(indi.data, aes(x = PPT, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")rm(means)ggpairs(indi.data,
columns = c("PPVT", "PPT"),
title = "Intercorrelations among Semantic Discrimination Indicators",
ggplot2::aes(colour = as.character(Group))) +
theme_classic()Perceptual Discrimination Descriptives
OOO
# High
print(psych::describeBy(indi.data$OOO.High.Hit.Rate,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 0.54 0.19 0.54 0.55 0.21 0.09 0.97 0.89 -0.17 -0.69 0.02
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 211 0.63 0.19 0.66 0.64 0.17 0.11 0.97 0.86 -0.52 -0.49 0.01
print(psych::describe(indi.data$OOO.High.Hit)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 363 20.68 6.72 21 20.96 7.41 3 34 31 -0.35 -0.65 0.35
t.test(formula = indi.data$OOO.High.Hit.Rate ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$OOO.High.Hit.Rate by indi.data$Group
t = -4.1033, df = 326.9, p-value = 5.148e-05
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.12124383 -0.04266239
sample estimates:
mean in group OA mean in group YA
0.5432331 0.6251862
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(OOO.High.Hit.Rate, na.rm = TRUE))
ggplot(indi.data, aes(x = OOO.High.Hit.Rate, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")rm(means)
# Color
print(psych::describeBy(indi.data$OOO.Color.Hit.Rate,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 0.68 0.19 0.71 0.69 0.26 0.24 1 0.76 -0.22 -0.87 0.02
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 211 0.8 0.16 0.82 0.82 0.17 0.18 1 0.82 -1.22 1.89 0.01
print(psych::describe(indi.data$OOO.Color.Hit)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 363 12.77 3.09 13 13.07 2.97 3 17 14 -0.75 -0.05 0.16
t.test(formula = indi.data$OOO.Color.Hit.Rate ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$OOO.Color.Hit.Rate by indi.data$Group
t = -6.2056, df = 283.35, p-value = 1.928e-09
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.1549277 -0.0803114
sample estimates:
mean in group OA mean in group YA
0.6830495 0.8006691
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(OOO.Color.Hit.Rate, na.rm = TRUE))
ggplot(indi.data, aes(x = OOO.Color.Hit.Rate, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")rm(means)
# Size
print(psych::describeBy(indi.data$OOO.Size.Hit.Rate,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 0.63 0.16 0.65 0.63 0.17 0.24 1 0.76 -0.08 -0.51 0.01
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 211 0.58 0.21 0.59 0.59 0.26 0.06 1 0.94 -0.1 -0.78 0.01
print(psych::describe(indi.data$OOO.Size.Hit)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 363 10.22 3.25 11 10.29 2.97 1 17 16 -0.17 -0.56 0.17
t.test(formula = indi.data$OOO.Size.Hit.Rate ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$OOO.Size.Hit.Rate by indi.data$Group
t = 2.1186, df = 359.06, p-value = 0.03481
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
0.002957799 0.079492717
sample estimates:
mean in group OA mean in group YA
0.6250000 0.5837747
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(OOO.Size.Hit.Rate, na.rm = TRUE))
ggplot(indi.data, aes(x = OOO.Size.Hit.Rate, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")rm(means)MVPT
print(psych::describeBy(indi.data$MVPT,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 33.78 4.94 34 33.97 5.93 21 43 22 -0.33 -0.28 0.4
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 211 35.62 4.93 37 35.95 5.93 19 44 25 -0.57 -0.21 0.34
print(psych::describe(indi.data$MVPT)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 363 34.85 5.01 35 35.12 5.93 19 44 25 -0.45 -0.3 0.26
t.test(formula = indi.data$MVPT ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$MVPT by indi.data$Group
t = -3.503, df = 325.2, p-value = 0.0005245
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-2.8730402 -0.8065557
sample estimates:
mean in group OA mean in group YA
33.77632 35.61611
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(MVPT, na.rm = TRUE))
ggplot(indi.data, aes(x = MVPT, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")rm(means)ggpairs(indi.data,
columns = c("OOO.High.Hit.Rate",
"OOO.Color.Hit.Rate",
"OOO.Size.Hit.Rate",
"MVPT"),
title = "Intercorrelations among Perceptual Discrimination Indicators",
ggplot2::aes(colour = as.character(Group)),
columnLabels = c("High", "Color", "Size", "MVPT")) +
theme_classic()Semantic DRM FM Descriptives
Categorical DRM Task
# Total
print(psych::describeBy(indi.data$cat.drm.FA.Total.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 148 0.16 0.11 0.13 0.15 0.08 0 0.56 0.56 1.19 1.25 0.01
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 203 0.2 0.14 0.17 0.18 0.14 0 0.65 0.65 1.08 0.72 0.01
print(psych::describe(indi.data$cat.drm.FA.Total.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 351 0.18 0.13 0.15 0.16 0.11 0 0.65 0.65 1.19 1.17 0.01
t.test(formula = indi.data$cat.drm.FA.Total.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$cat.drm.FA.Total.Rates by indi.data$Group
t = -2.7008, df = 346.85, p-value = 0.007257
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.063546711 -0.009992346
sample estimates:
mean in group OA mean in group YA
0.1599099 0.1966794
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(cat.drm.FA.Total.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = cat.drm.FA.Total.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 12 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)
# Related
print(psych::describeBy(indi.data$cat.drm.FA.Related.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 148 0.23 0.16 0.19 0.21 0.12 0 0.72 0.72 1.01 0.56 0.01
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 203 0.27 0.19 0.25 0.26 0.16 0 0.81 0.81 0.82 0.02 0.01
print(psych::describe(indi.data$cat.drm.FA.Related.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 351 0.26 0.18 0.22 0.24 0.16 0 0.81 0.81 0.93 0.3 0.01
t.test(formula = indi.data$cat.drm.FA.Related.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$cat.drm.FA.Related.Rates by indi.data$Group
t = -2.2798, df = 340.25, p-value = 0.02324
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.078236425 -0.005762598
sample estimates:
mean in group OA mean in group YA
0.2323574 0.2743569
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(cat.drm.FA.Related.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = cat.drm.FA.Related.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 12 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)
# Unrelated
print(psych::describeBy(indi.data$cat.drm.FA.Unrelated.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 148 0.02 0.05 0 0 0 0 0.39 0.39 5.12 32.79 0
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 203 0.04 0.09 0 0.02 0 0 0.5 0.5 2.99 9.77 0.01
print(psych::describe(indi.data$cat.drm.FA.Unrelated.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 351 0.03 0.08 0 0.01 0 0 0.5 0.5 3.65 15.2 0
t.test(formula = indi.data$cat.drm.FA.Unrelated.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$cat.drm.FA.Unrelated.Rates by indi.data$Group
t = -3.571, df = 318.96, p-value = 0.0004104
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.04080470 -0.01181442
sample estimates:
mean in group OA mean in group YA
0.01501502 0.04132458
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(cat.drm.FA.Unrelated.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = cat.drm.FA.Unrelated.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 12 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)Schematic Task
# Total
print(psych::describeBy(indi.data$schematic.FA.Total.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 101 0.38 0.14 0.35 0.37 0.12 0.08 0.79 0.71 0.44 0.42 0.01
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 0.4 0.14 0.4 0.41 0.15 0.04 0.77 0.73 -0.1 -0.27 0.01
print(psych::describe(indi.data$schematic.FA.Total.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 253 0.39 0.14 0.4 0.39 0.15 0.04 0.79 0.75 0.12 -0.06 0.01
t.test(formula = indi.data$schematic.FA.Total.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$schematic.FA.Total.Rates by indi.data$Group
t = -1.5744, df = 210.38, p-value = 0.1169
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.062654594 0.007013093
sample estimates:
mean in group OA mean in group YA
0.3758251 0.4036458
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(schematic.FA.Total.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = schematic.FA.Total.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 110 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)
# Related
print(psych::describeBy(indi.data$schematic.FA.Related.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 101 0.5 0.16 0.5 0.5 0.12 0.12 0.96 0.83 0.17 -0.01 0.02
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 0.48 0.15 0.46 0.48 0.19 0.08 0.79 0.71 -0.04 -0.48 0.01
print(psych::describe(indi.data$schematic.FA.Related.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 253 0.49 0.15 0.46 0.49 0.19 0.08 0.96 0.87 0.07 -0.18 0.01
t.test(formula = indi.data$schematic.FA.Related.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$schematic.FA.Related.Rates by indi.data$Group
t = 1.0483, df = 201.68, p-value = 0.2958
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.01824422 0.05966119
sample estimates:
mean in group OA mean in group YA
0.5037129 0.4830044
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(schematic.FA.Related.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = schematic.FA.Related.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 110 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)
# Unrelated
print(psych::describeBy(indi.data$schematic.FA.Unrelated.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 101 0.25 0.15 0.25 0.24 0.12 0 0.75 0.75 0.62 0.26 0.02
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 152 0.32 0.17 0.33 0.32 0.19 0 0.88 0.88 0.29 -0.28 0.01
print(psych::describe(indi.data$schematic.FA.Unrelated.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 253 0.29 0.17 0.29 0.29 0.19 0 0.88 0.88 0.43 -0.15 0.01
t.test(formula = indi.data$schematic.FA.Unrelated.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$schematic.FA.Unrelated.Rates by indi.data$Group
t = -3.7633, df = 229.29, p-value = 0.000213
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.11632489 -0.03637508
sample estimates:
mean in group OA mean in group YA
0.2479373 0.3242873
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(schematic.FA.Unrelated.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = schematic.FA.Unrelated.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 110 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)ggpairs(indi.data,
columns = c("cat.drm.FA.Total.Rates",
"cat.drm.FA.Related.Rates",
"cat.drm.FA.Unrelated.Rates",
"schematic.FA.Total.Rates",
"schematic.FA.Related.Rates",
"schematic.FA.Unrelated.Rates"),
title = "Intercorrelations among Semantic FM Indicators",
ggplot2::aes(colour = as.character(Group)),
columnLabels = c("Sem\nTotal",
"Sem\nRelated",
"Sem\nUnrel.",
"Cat\nTotal",
"Cat\nRelated",
"Cat\nUnrel.")) +
theme_classic() +
theme(strip.text = element_text(size = 8))Perceptual FM Descriptives
Object Similarity Task
# Total
print(psych::describeBy(indi.data$object.sim.FA.Total.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 147 0.26 0.11 0.26 0.26 0.11 0.06 0.57 0.52 0.5 -0.14 0.01
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 205 0.27 0.15 0.26 0.26 0.16 0.02 0.76 0.74 0.53 -0.11 0.01
print(psych::describe(indi.data$object.sim.FA.Total.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 352 0.27 0.13 0.26 0.26 0.14 0.02 0.76 0.74 0.55 0.09 0.01
t.test(formula = indi.data$object.sim.FA.Total.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$object.sim.FA.Total.Rates by indi.data$Group
t = -0.18335, df = 348.63, p-value = 0.8546
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.02944532 0.02442347
sample estimates:
mean in group OA mean in group YA
0.2637944 0.2663053
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(object.sim.FA.Total.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = object.sim.FA.Total.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 11 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)
# Related
print(psych::describeBy(indi.data$object.sim.FA.Related.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 147 0.39 0.17 0.39 0.38 0.16 0.08 0.83 0.75 0.51 -0.15 0.01
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 205 0.38 0.2 0.39 0.37 0.21 0 0.94 0.94 0.43 -0.33 0.01
print(psych::describe(indi.data$object.sim.FA.Related.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 352 0.39 0.19 0.39 0.38 0.21 0 0.94 0.94 0.45 -0.18 0.01
t.test(formula = indi.data$object.sim.FA.Related.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$object.sim.FA.Related.Rates by indi.data$Group
t = 0.43804, df = 344.56, p-value = 0.6616
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.03020309 0.04751039
sample estimates:
mean in group OA mean in group YA
0.3936130 0.3849593
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(object.sim.FA.Related.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = object.sim.FA.Related.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 11 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)
# Unrelated
print(psych::describeBy(indi.data$object.sim.FA.Unrelated.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 147 0 0.02 0 0 0 0 0.17 0.17 5.77 40.82 0
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 205 0.03 0.07 0 0.01 0 0 0.44 0.44 3.39 12.76 0
print(psych::describe(indi.data$object.sim.FA.Unrelated.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 352 0.02 0.06 0 0 0 0 0.44 0.44 4.39 22.51 0
t.test(formula = indi.data$object.sim.FA.Unrelated.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$object.sim.FA.Unrelated.Rates by indi.data$Group
t = -4.8552, df = 242.51, p-value = 2.157e-06
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.03491798 -0.01476217
sample estimates:
mean in group OA mean in group YA
0.004157218 0.028997290
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(object.sim.FA.Unrelated.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = object.sim.FA.Unrelated.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 11 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)Abstract Images Task
# Total
print(psych::describeBy(indi.data$abstract.img.FA.Total.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 150 0.45 0.12 0.44 0.44 0.11 0.17 0.76 0.59 0.25 -0.3 0.01
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 201 0.4 0.14 0.41 0.4 0.14 0.11 0.85 0.74 0.15 -0.41 0.01
print(psych::describe(indi.data$abstract.img.FA.Total.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 351 0.42 0.13 0.43 0.42 0.14 0.11 0.85 0.74 0.13 -0.31 0.01
t.test(formula = indi.data$abstract.img.FA.Total.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$abstract.img.FA.Total.Rates by indi.data$Group
t = 2.9052, df = 339.61, p-value = 0.00391
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
0.01327164 0.06891741
sample estimates:
mean in group OA mean in group YA
0.4451852 0.4040907
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(abstract.img.FA.Total.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = abstract.img.FA.Total.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 12 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)
# Related
print(psych::describeBy(indi.data$abstract.img.FA.Related.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 150 0.59 0.14 0.58 0.59 0.12 0.22 0.89 0.67 -0.2 -0.37 0.01
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 201 0.52 0.15 0.53 0.52 0.16 0.17 0.86 0.69 -0.15 -0.44 0.01
print(psych::describe(indi.data$abstract.img.FA.Related.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 351 0.55 0.15 0.56 0.55 0.16 0.17 0.89 0.72 -0.22 -0.35 0.01
t.test(formula = indi.data$abstract.img.FA.Related.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$abstract.img.FA.Related.Rates by indi.data$Group
t = 4.3648, df = 337.29, p-value = 1.694e-05
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
0.03685190 0.09731615
sample estimates:
mean in group OA mean in group YA
0.5857407 0.5186567
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(abstract.img.FA.Related.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = abstract.img.FA.Related.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 12 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)
# Unrelated
print(psych::describeBy(indi.data$abstract.img.FA.Unrelated.Rates,
group = indi.data$Group))
Descriptive statistics by group
group: OA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 150 0.16 0.15 0.11 0.14 0.08 0 0.72 0.72 1.14 0.95 0.01
------------------------------------------------------------
group: YA
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 201 0.17 0.16 0.11 0.15 0.16 0 0.83 0.83 1.06 0.84 0.01
print(psych::describe(indi.data$abstract.img.FA.Unrelated.Rates)) vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 351 0.17 0.15 0.11 0.15 0.16 0 0.83 0.83 1.1 0.95 0.01
t.test(formula = indi.data$abstract.img.FA.Unrelated.Rates ~
indi.data$Group
#, paired = FALSE
)
Welch Two Sample t-test
data: indi.data$abstract.img.FA.Unrelated.Rates by indi.data$Group
t = -0.66021, df = 335.36, p-value = 0.5096
alternative hypothesis: true difference in means between group OA and group YA is not equal to 0
95 percent confidence interval:
-0.04331418 0.02154525
sample estimates:
mean in group OA mean in group YA
0.1640741 0.1749585
means = indi.data %>%
dplyr::group_by(Group) %>%
dplyr::summarise(mean = mean(abstract.img.FA.Unrelated.Rates, na.rm = TRUE))
ggplot(indi.data, aes(x = abstract.img.FA.Unrelated.Rates, fill = Group)) +
geom_vline(data = means,
aes(xintercept = mean, color = Group),
linewidth = 2,
show.legend = FALSE) +
geom_density(alpha = 0.7, outline.type = "full") +
labs(y = "Density")Warning: Removed 12 rows containing non-finite outside the scale range
(`stat_density()`).
rm(means)ggpairs(indi.data,
columns = c("object.sim.FA.Total.Rates",
"object.sim.FA.Related.Rates",
"object.sim.FA.Unrelated.Rates",
"abstract.img.FA.Total.Rates",
"abstract.img.FA.Related.Rates",
"abstract.img.FA.Unrelated.Rates"),
title = "Intercorrelations among Perceptual FM Indicators",
ggplot2::aes(colour = as.character(Group)),
columnLabels = c("Per\nTotal",
"Per\nRelated",
"Per\nUnrel.",
"Nonsem\nTotal",
"Nonsem\nRelated",
"Nonsem\nUnrel.")) +
theme_classic() +
theme(strip.text = element_text(size = 8))Memory Test Reliability
Odd-even reliability for related false alarms (Spearman-Brown corrected):
# Categorical DRM
cat.drm.r.data = read.csv("Semantic Memory Test, Item-Level Data.csv")
cat.drm.r.data = filter(cat.drm.r.data,
numeric.id %in% indi.data$numeric.id &
item.type == "RelatedLure")
cat.drm.r.data = select(cat.drm.r.data,
numeric.id, item.type, updated.associative.score)
cat.drm.r.data$trial.number =
ave(1:nrow(cat.drm.r.data),
cat.drm.r.data$numeric.id,
FUN = seq_along)
cat.drm.r.data$FM = as.numeric(case_when(
cat.drm.r.data$updated.associative.score == "FA" ~ 1,
TRUE ~ 0
))
cat.drm.r.data$FM.even = case_when(
cat.drm.r.data$trial.number %% 2 == 0 ~ cat.drm.r.data$FM)
cat.drm.r.data$FM.odd = case_when(
cat.drm.r.data$trial.number %% 2 == 1 ~ cat.drm.r.data$FM)
cat.drm.r.data =
cat.drm.r.data %>%
dplyr::group_by(numeric.id) %>%
dplyr::summarize(FM.even = mean(FM.even, na.rm = TRUE),
FM.odd = mean(FM.odd, na.rm = TRUE))
cat.drm.r = 2*cor(cat.drm.r.data$FM.even,
cat.drm.r.data$FM.odd,
use = 'pairwise')/
(1 + cor(cat.drm.r.data$FM.even,
cat.drm.r.data$FM.odd,
use = 'pairwise'))
rm(cat.drm.r.data)
# Schematic
schematic.r.data = read.csv("Categorical Memory Test, Item-Level Data.csv")
schematic.r.data = filter(schematic.r.data,
numeric.id %in% indi.data$numeric.id &
item.type == "LureThematic")
schematic.r.data = select(schematic.r.data,
numeric.id, item.type,
updated.associative.score)
schematic.r.data$trial.number =
ave(1:nrow(schematic.r.data),
schematic.r.data$numeric.id,
FUN = seq_along)
schematic.r.data$FM = as.numeric(case_when(
schematic.r.data$updated.associative.score == "FA" ~ 1,
TRUE ~ 0
))
schematic.r.data$FM.even = case_when(
schematic.r.data$trial.number %% 2 == 0 ~ schematic.r.data$FM)
schematic.r.data$FM.odd = case_when(
schematic.r.data$trial.number %% 2 == 1 ~ schematic.r.data$FM)
schematic.r.data =
schematic.r.data %>%
dplyr::group_by(numeric.id) %>%
dplyr::summarize(FM.even = mean(FM.even, na.rm = TRUE),
FM.odd = mean(FM.odd, na.rm = TRUE))
schematic.r = 2*cor(schematic.r.data$FM.even,
schematic.r.data$FM.odd,
use = 'pairwise')/
(1 + cor(schematic.r.data$FM.even,
schematic.r.data$FM.odd,
use = 'pairwise'))
rm(schematic.r.data)
# Object Similarity
object.sim.r.data = read.csv("Perceptual Memory Test, Item-Level Data.csv")
object.sim.r.data = filter(object.sim.r.data,
numeric.id %in% indi.data$numeric.id &
item.type == "RelatedLure")
object.sim.r.data = select(object.sim.r.data,
numeric.id,
item.type,
updated.associative.score)
object.sim.r.data$trial.number =
ave(1:nrow(object.sim.r.data),
object.sim.r.data$numeric.id,
FUN = seq_along)
object.sim.r.data$FM = as.numeric(case_when(
object.sim.r.data$updated.associative.score == "FA" ~ 1,
TRUE ~ 0
))
object.sim.r.data$FM.even = case_when(
object.sim.r.data$trial.number %% 2 == 0 ~ object.sim.r.data$FM)
object.sim.r.data$FM.odd = case_when(
object.sim.r.data$trial.number %% 2 == 1 ~ object.sim.r.data$FM)
object.sim.r.data =
object.sim.r.data %>%
dplyr::group_by(numeric.id) %>%
dplyr::summarize(FM.even = mean(FM.even, na.rm = TRUE),
FM.odd = mean(FM.odd, na.rm = TRUE))
object.sim.r = 2*cor(object.sim.r.data$FM.even,
object.sim.r.data$FM.odd,
use = 'pairwise')/
(1 + cor(object.sim.r.data$FM.even,
object.sim.r.data$FM.odd,
use = 'pairwise'))
rm(object.sim.r.data)
# Abstract Images
abstract.img.r.data = read.csv("Nonsemantic Memory Test, Item-Level Data.csv")
abstract.img.r.data = filter(abstract.img.r.data,
numeric.id %in% indi.data$numeric.id &
item.type == "RelatedLure")
abstract.img.r.data = select(abstract.img.r.data,
numeric.id,
item.type,
updated.associative.score)
abstract.img.r.data$trial.number =
ave(1:nrow(abstract.img.r.data),
abstract.img.r.data$numeric.id,
FUN = seq_along)
abstract.img.r.data$FM = as.numeric(case_when(
abstract.img.r.data$updated.associative.score == "FA" ~ 1,
TRUE ~ 0
))
abstract.img.r.data$FM.even = case_when(
abstract.img.r.data$trial.number %% 2 == 0 ~ abstract.img.r.data$FM)
abstract.img.r.data$FM.odd = case_when(
abstract.img.r.data$trial.number %% 2 == 1 ~ abstract.img.r.data$FM)
abstract.img.r.data =
abstract.img.r.data %>%
dplyr::group_by(numeric.id) %>%
dplyr::summarize(FM.even = mean(FM.even, na.rm = TRUE),
FM.odd = mean(FM.odd, na.rm = TRUE))
abstract.img.r = 2*cor(abstract.img.r.data$FM.even,
abstract.img.r.data$FM.odd,
use = 'pairwise')/
(1 + cor(abstract.img.r.data$FM.even,
abstract.img.r.data$FM.odd,
use = 'pairwise'))
rm(abstract.img.r.data)| Reliability | |
|---|---|
| Categorical DRM | 0.901 |
| Schematic | 0.613 |
| Object Similarity | 0.872 |
| Abstract Images | 0.793 |
Indicator Correlations
Correlations in entire sample:
var.cors = select(indi.data,
WCST.Persev.Errors, Arithmetic, backward.span, letter.numbering,
PPVT, PPT,
MVPT, OOO.High.Hit.Rate, OOO.Color.Hit.Rate, OOO.Size.Hit.Rate,
cat.drm.FA.Related.Rates, schematic.FA.Related.Rates,
object.sim.FA.Related.Rates, abstract.img.FA.Related.Rates)
var.cors = dplyr::rename(var.cors,
"PBCST-64" = WCST.Persev.Errors,
"Backward Digit Span" = backward.span,
"Letter Numbering" = letter.numbering,
"OOO (High)" = OOO.High.Hit.Rate,
"OOO (Color)" = OOO.Color.Hit.Rate,
"OOO (Size)" = OOO.Size.Hit.Rate,
"Categorical DRM FM" = cat.drm.FA.Related.Rates,
"Schematic FM" = schematic.FA.Related.Rates,
"Object Similarity FM" = object.sim.FA.Related.Rates,
"Abstract Images FM" = abstract.img.FA.Related.Rates)
cor.df = round(cor(var.cors, use = "pairwise"), 2)
p.df = as.data.frame(ggcorrplot::cor_pmat(var.cors, use = "complete.obs"))
labs.function = function(x){
case_when(x >= 0.05 ~ "",
x < 0.05 & x >= 0.01 ~ "*",
x < 0.01 & x >= 0.001 ~ "**",
x < 0.001 ~ "***")
}
p.labs = p.df %>%
mutate_all(labs.function)
p.labs$Var1 = as.factor(rownames(p.labs))
p.labs = melt(p.labs, id.vars = "Var1", variable.name = "Var2", value.name = "lab")
cor.plot = ggcorrplot(cor.df,
hc.order = FALSE,
type = "lower",
lab = TRUE,
colors = c("#BB4444", "#FFFFFF", "#4477AA"),
legend.title = "Correlation",
lab_col = "black",
lab_size = 2.3,
tl.col = "black",
tl.cex = 9,
tl.srt = 90,
outline.color = "black")
p.labs$in.df = ifelse(is.na(match(paste0(p.labs$Var1, p.labs$Var2),
paste0(cor.plot[["data"]]$Var1, cor.plot[["data"]]$Var2))),
"No", "Yes")
p.labs = select(filter(p.labs, in.df == "Yes"), -in.df)
cor.plot = cor.plot +
geom_text(aes(x = p.labs$Var1,
y = p.labs$Var2),
label = p.labs$lab,
nudge_y = 0.25,
size = 3)
ggsave("Correlation Plot (All).png", cor.plot,
width = 6.5, height = 6, units = "in",
dpi = 600, bg = "white")
cor.plotCorrelations in YAs:
var.cors = select(filter(indi.data, Group == "YA"),
WCST.Persev.Errors, Arithmetic, backward.span, letter.numbering,
PPVT, PPT,
MVPT, OOO.High.Hit.Rate, OOO.Color.Hit.Rate, OOO.Size.Hit.Rate,
cat.drm.FA.Related.Rates, schematic.FA.Related.Rates,
object.sim.FA.Related.Rates, abstract.img.FA.Related.Rates)
var.cors = dplyr::rename(var.cors,
"PBCST-64" = WCST.Persev.Errors,
"Backward Digit Span" = backward.span,
"Letter Numbering" = letter.numbering,
"OOO (High)" = OOO.High.Hit.Rate,
"OOO (Color)" = OOO.Color.Hit.Rate,
"OOO (Size)" = OOO.Size.Hit.Rate,
"Categorical DRM FM" = cat.drm.FA.Related.Rates,
"Schematic FM" = schematic.FA.Related.Rates,
"Object Similarity FM" = object.sim.FA.Related.Rates,
"Abstract Images FM" = abstract.img.FA.Related.Rates)
cor.df = round(cor(var.cors, use = "pairwise"), 2)
p.df = as.data.frame(ggcorrplot::cor_pmat(var.cors, use = "complete.obs"))
labs.function = function(x){
case_when(x >= 0.05 ~ "",
x < 0.05 & x >= 0.01 ~ "*",
x < 0.01 & x >= 0.001 ~ "**",
x < 0.001 ~ "***")
}
p.labs = p.df %>%
mutate_all(labs.function)
p.labs$Var1 = as.factor(rownames(p.labs))
p.labs = melt(p.labs, id.vars = "Var1", variable.name = "Var2", value.name = "lab")
cor.plot.ya = ggcorrplot(cor.df,
hc.order = FALSE,
type = "lower",
lab = TRUE,
colors = c("#BB4444", "#FFFFFF", "#4477AA"),
legend.title = "Correlation",
lab_col = "black",
lab_size = 2.3,
tl.col = "black",
tl.cex = 9,
tl.srt = 90,
outline.color = "black")
p.labs$in.df = ifelse(is.na(match(paste0(p.labs$Var1, p.labs$Var2),
paste0(cor.plot.ya[["data"]]$Var1, cor.plot.ya[["data"]]$Var2))),
"No", "Yes")
p.labs = select(filter(p.labs, in.df == "Yes"), -in.df)
cor.plot.ya = cor.plot.ya +
geom_text(aes(x = p.labs$Var1,
y = p.labs$Var2),
label = p.labs$lab,
nudge_y = 0.25,
size = 3)
ggsave("Correlation Plot (YA).png", cor.plot.ya,
width = 6.5, height = 6, units = "in",
dpi = 600, bg = "white")
cor.plot.yaCorrelations in OAs:
var.cors = select(filter(indi.data, Group == "OA"),
WCST.Persev.Errors, Arithmetic, backward.span, letter.numbering,
PPVT, PPT,
MVPT, OOO.High.Hit.Rate, OOO.Color.Hit.Rate, OOO.Size.Hit.Rate,
cat.drm.FA.Related.Rates, schematic.FA.Related.Rates,
object.sim.FA.Related.Rates, abstract.img.FA.Related.Rates)
var.cors = dplyr::rename(var.cors,
"PBCST-64" = WCST.Persev.Errors,
"Backward Digit Span" = backward.span,
"Letter Numbering" = letter.numbering,
"OOO (High)" = OOO.High.Hit.Rate,
"OOO (Color)" = OOO.Color.Hit.Rate,
"OOO (Size)" = OOO.Size.Hit.Rate,
"Categorical DRM FM" = cat.drm.FA.Related.Rates,
"Schematic FM" = schematic.FA.Related.Rates,
"Object Similarity FM" = object.sim.FA.Related.Rates,
"Abstract Images FM" = abstract.img.FA.Related.Rates)
cor.df = round(cor(var.cors, use = "pairwise"), 2)
p.df = as.data.frame(ggcorrplot::cor_pmat(var.cors, use = "complete.obs"))
labs.function = function(x){
case_when(x >= 0.05 ~ "",
x < 0.05 & x >= 0.01 ~ "*",
x < 0.01 & x >= 0.001 ~ "**",
x < 0.001 ~ "***")
}
p.labs = p.df %>%
mutate_all(labs.function)
p.labs$Var1 = as.factor(rownames(p.labs))
p.labs = melt(p.labs, id.vars = "Var1", variable.name = "Var2", value.name = "lab")
cor.plot.oa = ggcorrplot(cor.df,
hc.order = FALSE,
type = "lower",
lab = TRUE,
colors = c("#BB4444", "#FFFFFF", "#4477AA"),
legend.title = "Correlation",
lab_col = "black",
lab_size = 2.3,
tl.col = "black",
tl.cex = 9,
tl.srt = 90,
outline.color = "black")
p.labs$in.df = ifelse(is.na(match(paste0(p.labs$Var1, p.labs$Var2),
paste0(cor.plot.oa[["data"]]$Var1, cor.plot.oa[["data"]]$Var2))),
"No", "Yes")
p.labs = select(filter(p.labs, in.df == "Yes"), -in.df)
cor.plot.oa = cor.plot.oa +
geom_text(aes(x = p.labs$Var1,
y = p.labs$Var2),
label = p.labs$lab,
nudge_y = 0.25,
size = 3)
ggsave("Correlation Plot (OA).png", cor.plot.oa,
width = 6.5, height = 6, units = "in",
dpi = 600, bg = "white")
cor.plot.oaTesting for age differences in indicator intercorrelations
tasks = c("WCST.Persev.Errors", "Arithmetic", "backward.span", "letter.numbering",
"PPVT", "PPT",
"MVPT", "OOO.High.Hit.Rate",
"OOO.Color.Hit.Rate", "OOO.Size.Hit.Rate",
"cat.drm.FA.Related.Rates", "schematic.FA.Related.Rates",
"object.sim.FA.Related.Rates", "abstract.img.FA.Related.Rates")
# Getting vectors of the 91 pairwise correlations for each age group
oa.var.cors = select(filter(indi.data, Group == "OA"), tasks)Warning: Using an external vector in selections was deprecated in tidyselect 1.1.0.
ℹ Please use `all_of()` or `any_of()` instead.
# Was:
data %>% select(tasks)
# Now:
data %>% select(all_of(tasks))
See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
oa.r.df = as.data.frame(corr.test(oa.var.cors)$r)
oa.r = oa.r.df[lower.tri(oa.r.df, diag = FALSE)]
oa.n = corr.test(oa.var.cors)$n
oa.n = oa.n[lower.tri(oa.n, diag = FALSE)]
ya.var.cors = select(filter(indi.data, Group == "YA"), tasks)
ya.r.df = as.data.frame(corr.test(ya.var.cors)$r)
ya.r = ya.r.df[lower.tri(ya.r.df, diag = FALSE)]
ya.n = corr.test(ya.var.cors)$n
ya.n = ya.n[lower.tri(ya.n, diag = FALSE)]
oa.ya.p = numeric()
oa.ya.z = numeric()
# Pairwise correlation tests between OAs and YAs
for (r in 1:91) {
r1 = oa.r[r]
r2 = ya.r[r]
z1 = fisherz(r1)
z2 = fisherz(r2)
n1 = oa.n[r]
n2 = ya.n[r]
z.comp = (z1 - z2)/sqrt((1/(n1 - 3))+(1/(n2 + 3)))
p = pnorm(q = abs(z.comp), lower.tail = FALSE)*2
print(p)
oa.ya.p[r] = p
oa.ya.z[r] = z.comp
}
# Save the p-values in a matrix
oa.ya.p.mat = matrix(ncol = 14, nrow = 14)
oa.ya.p.mat[lower.tri(oa.ya.p.mat, diag = FALSE)] =
printnum(oa.ya.p, digits = 3)
oa.ya.p.mat[upper.tri(oa.ya.p.mat, diag = FALSE)] = ''
diag(oa.ya.p.mat) = '-'
oa.ya.p.mat = data.frame(oa.ya.p.mat)
rownames(oa.ya.p.mat) = paste0(seq(1, 14), '. ', tasks)
colnames(oa.ya.p.mat) = paste0(seq(1, 14), '.')
# Matrix w/ p < 0.05 only
oa.ya.sig.mat = matrix(ncol = 14, nrow = 14)
oa.ya.sig = case_when(
oa.ya.p < 0.05 ~ oa.ya.p,
TRUE ~ NA_real_
)
oa.ya.sig.mat[lower.tri(oa.ya.sig.mat, diag = FALSE)] =
printnum(oa.ya.sig,
digits = 3)
oa.ya.sig.mat[upper.tri(oa.ya.sig.mat, diag = FALSE)] = ''
diag(oa.ya.sig.mat) = '----'
oa.ya.sig.mat = data.frame(oa.ya.sig.mat)
oa.ya.sig.mat = data.frame(lapply(oa.ya.sig.mat, function(x) {
gsub("NA", "-----", x)
}))
rownames(oa.ya.sig.mat) = paste0(seq(1, 14), '. ', tasks)
colnames(oa.ya.sig.mat) = paste0(seq(1, 14), '.')P-values for age differences in correlations are presented in the matrices below. The following 11 correlations were significantly different between OAs and YAs at p < 0.05:
- MVPT with PPT: Correlation stronger in YAs; 0.174 vs 0.453
- OOO-Color with WCST: Correlation stronger in YAs; 0.032 vs -0.267
- OOO-Color with MVPT: Correlation stronger in YAs; 0.15 vs 0.462
- OOO-Color with OOO-High: Correlation stronger in YAs; 0.302 vs 0.497
- OOO-High with PPT: Correlation stronger in YAs; 0.076 vs 0.308
- OOO-High with MVPT: Correlation stronger in YAs; 0.388 vs 0.565
- OOO-Size with Backward Span: Correlation stronger in YAs; 0.071 vs 0.328
- Object Similarity FM FM with PPT: Correlation stronger in YAs; -0.025 vs -0.311
- Abstract Images FM with PPT: Correlation stronger in YAs; 0.069 vs -0.249
- Object Similarity FM with Categorical DRM FM: Correlation stronger in YAs; 0.457 vs 0.626
- Abstract Images FM with Categorical DRM FM: Correlation stronger in YAs; 0.2 vs 0.407
However, none of these survive a Bonferroni cutoffs of p > 0.05/91.
oa.ya.p.mat 1. 2. 3. 4. 5. 6. 7.
1. WCST.Persev.Errors -
2. Arithmetic 0.705 -
3. backward.span 0.904 0.079 -
4. letter.numbering 0.068 0.806 0.273 -
5. PPVT 0.667 0.241 0.152 0.184 -
6. PPT 0.748 0.990 0.990 0.987 0.090 -
7. MVPT 0.329 0.420 0.213 0.657 0.662 0.003 -
8. OOO.High.Hit.Rate 0.493 0.758 0.094 0.551 0.736 0.023 0.031
9. OOO.Color.Hit.Rate 0.005 0.084 0.082 0.163 0.155 0.082 0.001
10. OOO.Size.Hit.Rate 0.912 0.728 0.011 0.960 0.331 0.879 0.697
11. cat.drm.FA.Related.Rates 0.248 0.225 0.861 0.621 0.597 0.114 0.231
12. schematic.FA.Related.Rates 0.668 0.469 0.751 0.055 0.237 0.485 0.218
13. object.sim.FA.Related.Rates 0.694 0.963 0.748 0.518 0.676 0.006 0.166
14. abstract.img.FA.Related.Rates 0.238 0.507 0.625 0.945 0.212 0.003 0.139
8. 9. 10. 11. 12. 13. 14.
1. WCST.Persev.Errors
2. Arithmetic
3. backward.span
4. letter.numbering
5. PPVT
6. PPT
7. MVPT
8. OOO.High.Hit.Rate -
9. OOO.Color.Hit.Rate 0.028 -
10. OOO.Size.Hit.Rate 0.056 0.284 -
11. cat.drm.FA.Related.Rates 0.399 0.724 0.148 -
12. schematic.FA.Related.Rates 0.929 0.336 0.246 0.181 -
13. object.sim.FA.Related.Rates 0.643 0.959 0.638 0.028 0.760 -
14. abstract.img.FA.Related.Rates 0.639 0.973 0.670 0.036 0.076 0.245 -
oa.ya.sig.mat 1. 2. 3. 4. 5. 6. 7.
1. WCST.Persev.Errors ----
2. Arithmetic ----- ----
3. backward.span ----- ----- ----
4. letter.numbering ----- ----- ----- ----
5. PPVT ----- ----- ----- ----- ----
6. PPT ----- ----- ----- ----- ----- ----
7. MVPT ----- ----- ----- ----- ----- 0.003 ----
8. OOO.High.Hit.Rate ----- ----- ----- ----- ----- 0.023 0.031
9. OOO.Color.Hit.Rate 0.005 ----- ----- ----- ----- ----- 0.001
10. OOO.Size.Hit.Rate ----- ----- 0.011 ----- ----- ----- -----
11. cat.drm.FA.Related.Rates ----- ----- ----- ----- ----- ----- -----
12. schematic.FA.Related.Rates ----- ----- ----- ----- ----- ----- -----
13. object.sim.FA.Related.Rates ----- ----- ----- ----- ----- 0.006 -----
14. abstract.img.FA.Related.Rates ----- ----- ----- ----- ----- 0.003 -----
8. 9. 10. 11. 12. 13. 14.
1. WCST.Persev.Errors
2. Arithmetic
3. backward.span
4. letter.numbering
5. PPVT
6. PPT
7. MVPT
8. OOO.High.Hit.Rate ----
9. OOO.Color.Hit.Rate 0.028 ----
10. OOO.Size.Hit.Rate ----- ----- ----
11. cat.drm.FA.Related.Rates ----- ----- ----- ----
12. schematic.FA.Related.Rates ----- ----- ----- ----- ----
13. object.sim.FA.Related.Rates ----- ----- ----- 0.028 ----- ----
14. abstract.img.FA.Related.Rates ----- ----- ----- 0.036 ----- ----- ----