# Libraries
library(tidyr)
library(dplyr)
library(ggplot2)
library(lubridate)
library(plotly)
library(table1)
library(REDCapR)
library(stringr)
library(gt)
library(glue)
library(tibble)
knitr::opts_chunk$set(message = FALSE, warning = FALSE)
# Functions: everything in R/ is sourced here
for (f in list.files("R", pattern = "\\.R$", full.names = TRUE)) source(f)
This R Markdown document is designed for data wrangling, visualization, and analysis across various SPIN studies. It provides a framework for examining study metrics tailored to specific SPIN studies as outlined be low. You can execute the entire document sequentially to prepare and analyze variables across these studies.
For clarity and visual appeal, code chunks are hidden, and only key results and plots are displayed. For detailed insights into the methodology or specific code implementations, please contact Hassan Abdulrasul (hassan.abdulrasul@camh.ca).
| Group | Participants with complete MRI | Participants needed for target | MRI scans required | Recruitment target | Target met (%) |
|---|---|---|---|---|---|
| ASD | 41 | 9 | 18 | 50 | 82% |
| Control | 36 | 4 | 8 | 40 | 90% |
| SSD | 21 | 9 | 18 | 30 | 70% |
| TOTAL | 22 | 44 | 120 | ||
| Notes. Participants with complete MRI = tx2 MRIs completed. MRI scans required assumes 2 scans per needed participant. | |||||
| MRI sequence completeness | ||||
| Number of MRI scans = 136 | ||||
| Run | Collected | Not collected | Partial | % Collected |
|---|---|---|---|---|
| T1 | 136 | 0 | 0 | 100.0 |
| Rest (run 1) | 134 | 1 | 1 | 98.5 |
| Rest (run 2) | 114 | 22 | 0 | 83.8 |
| EA (run 1) | 135 | 1 | 0 | 99.3 |
| EA (run 2) | 134 | 1 | 1 | 98.5 |
| EA (run 3) | 133 | 3 | 0 | 97.8 |
| Imitate/Observe (run 1) | 123 | 13 | 0 | 90.4 |
| Imitate/Observe (run 2) | 125 | 11 | 0 | 91.9 |
| DWI | 128 | 8 | 0 | 94.1 |
| MRI sequence completeness — ASD | ||||
| Number of MRI scans = 42 | ||||
| Run | Collected | Not collected | Partial | % Collected |
|---|---|---|---|---|
| T1 | 45 | 0 | 0 | 100.0 |
| Rest (run 1) | 45 | 0 | 0 | 100.0 |
| Rest (run 2) | 34 | 11 | 0 | 75.6 |
| EA (run 1) | 45 | 0 | 0 | 100.0 |
| EA (run 2) | 45 | 0 | 0 | 100.0 |
| EA (run 3) | 45 | 0 | 0 | 100.0 |
| Imitate/Observe (run 1) | 42 | 3 | 0 | 93.3 |
| Imitate/Observe (run 2) | 42 | 3 | 0 | 93.3 |
| DWI | 42 | 3 | 0 | 93.3 |
| MRI sequence completeness — Control | ||||
| Number of MRI scans = 42 | ||||
| Run | Collected | Not collected | Partial | % Collected |
|---|---|---|---|---|
| T1 | 52 | 0 | 0 | 100.0 |
| Rest (run 1) | 51 | 0 | 1 | 98.1 |
| Rest (run 2) | 51 | 1 | 0 | 98.1 |
| EA (run 1) | 52 | 0 | 0 | 100.0 |
| EA (run 2) | 52 | 0 | 0 | 100.0 |
| EA (run 3) | 51 | 1 | 0 | 98.1 |
| Imitate/Observe (run 1) | 52 | 0 | 0 | 100.0 |
| Imitate/Observe (run 2) | 52 | 0 | 0 | 100.0 |
| DWI | 52 | 0 | 0 | 100.0 |
| MRI sequence completeness — SSD | ||||
| Number of MRI scans = 27 | ||||
| Run | Collected | Not collected | Partial | % Collected |
|---|---|---|---|---|
| T1 | 39 | 0 | 0 | 100.0 |
| Rest (run 1) | 38 | 1 | 0 | 97.4 |
| Rest (run 2) | 29 | 10 | 0 | 74.4 |
| EA (run 1) | 38 | 1 | 0 | 97.4 |
| EA (run 2) | 37 | 1 | 1 | 94.9 |
| EA (run 3) | 37 | 2 | 0 | 94.9 |
| Imitate/Observe (run 1) | 29 | 10 | 0 | 74.4 |
| Imitate/Observe (run 2) | 31 | 8 | 0 | 79.5 |
| DWI | 34 | 5 | 0 | 87.2 |
plot to see the completion status between SPINR and SPASD
plot_spinr_completion(SPINR_assessment_df, "SPASD", forms, "SPIN-R : Assessment Completion Status (SPASD Group)")
plot_spinr_completion(SPINR_assessment_df, "SPINS", forms, "SPIN-R : Assessment Completion Status (SPINS Group)")
plot_spinr_completion(SPINR_assessment_df, "Control", forms, "SPIN-R : Assessment Completion Status (Control Group)")
plot_spinr_completion(SPINR_assessment_df, "SSD w T1", forms, "SPIN-R : Assessment Completion Status (SSD w Tx1)")
plot_spinr_completion(SPINR_assessment_df, "SSD w T1 (tx2)", forms, "SPIN-R : Assessment Completion Status (SSD w Tx2)")
plot_spinr_completion(SPINR_assessment_df, "Control w T1", forms, "SPIN-R : Assessment Completion Status (Control w Tx1)")
plot_spinr_completion(SPINR_assessment_df, "Control w T1 (tx2)", forms, "SPIN-R : Assessment Completion Status (Control w Tx2)")
plot_spinr_completion(SPINR_assessment_df, "ASD w T1", forms, "SPIN-R : Assessment Completion Status (ASD w Tx1)")
plot_spinr_completion(SPINR_assessment_df, "ASD w T1 (tx2)", forms, "SPIN-R : Assessment Completion Status (ASD w Tx2)")
plot_spasd_completion(SPASD_assessment_df, "Control", forms_spasd,
title = "SPASD : Assessment Completion Status (Control Group)",
width = 1100)
plot_spasd_completion(SPASD_assessment_df, "ASD", forms_spasd,
title = "SPASD : Assessment Completion Status (ASD Group)",
height = 1300)
Bars show the number of participants in each group with each SCID-5 diagnosis. A participant with several diagnoses is counted once for each.
Current: the disorder meets symptomatic diagnostic criteria within the time window the SCID-5 specifies for it. That is the past month for most disorders, and up to the past 2 years for some (e.g. persistent depressive disorder, cyclothymic disorder). In SPIN-R this is the disorder’s “Meets Symptomatic Dx. Crit” rating; in SPASD it is the past-period rating recorded for each diagnosis.
Lifetime: the disorder has ever met diagnostic criteria. In SPIN-R this is a lifetime prevalence rating of “Threshold” (disorders with no lifetime rating use their current rating). In SPASD it is any diagnosis recorded as meeting threshold criteria.
No diagnosis: no clinical disorder recorded. No current / lifetime diagnosis: at least one disorder recorded, but none meeting that tab’s definition. SPIN-R tabs are split by timepoint (tx1 = baseline, tx2 = follow-up); participants without a SCID at that timepoint are not shown.
SPINR_scid_current %>% filter(timepoint == 1) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Current SCID Diagnoses by Group (tx1)")
SPINR_scid_current %>% filter(timepoint == 2) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Current SCID Diagnoses by Group (tx2)")
SPASD_scid_current %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPASD Current SCID Diagnoses by Group")
SPINR_scid_lifetime %>% filter(timepoint == 1) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Lifetime SCID Diagnoses by Group (tx1)")
SPINR_scid_lifetime %>% filter(timepoint == 2) %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPIN-R Lifetime SCID Diagnoses by Group (tx2)")
SPASD_scid_lifetime %>% count_scid_diagnoses() %>%
plot_scid_diagnoses("SPASD Lifetime SCID Diagnoses by Group")
Everyone enrolled in SPIN-R, one row per participant, at their first SPIN-R visit. Scores by visit are in the Longitudinal Cohort section.
table1_by_group(SPINR_sample, c(
origin = "Origin",
visits = "Visits completed",
demo_age_study_entry = "Age at SPIN-R entry (years)",
sex = "Sex",
race = "Race",
demo_highest_grade_self = "Education (years)"
))
| ASD (N=44) |
Control (N=45) |
SSD (N=34) |
Overall (N=123) |
|
|---|---|---|---|---|
| Origin | ||||
| Rolled over from SPASD | 39 (89 %) | 19 (42 %) | 0 (0 %) | 58 (47 %) |
| Rolled over from SPINS | 0 (0 %) | 9 (20 %) | 9 (26 %) | 18 (15 %) |
| New SPIN-R recruit | 5 (11 %) | 17 (38 %) | 24 (71 %) | 46 (37 %) |
| Rolled over (baseline not found) | 0 (0 %) | 0 (0 %) | 1 (3 %) | 1 (1 %) |
| Visits completed | ||||
| Baseline + follow-up | 43 (98 %) | 41 (91 %) | 21 (62 %) | 105 (85 %) |
| Baseline only | 1 (2 %) | 4 (9 %) | 12 (35 %) | 17 (14 %) |
| Follow-up only | 0 (0 %) | 0 (0 %) | 1 (3 %) | 1 (1 %) |
| Age at SPIN-R entry (years) | ||||
| Mean (SD) | 25 (± 5.4) | 27 (± 5.6) | 27 (± 5.0) | 26 (± 5.4) |
| Median [Min, Max] | 24 [16, 36] | 28 [18, 39] | 26 [17, 39] | 26 [16, 39] |
| Missing | 0 (0%) | 1 (2.2%) | 0 (0%) | 1 (0.8%) |
| Sex | ||||
| Female | 21 (48 %) | 19 (42 %) | 13 (38 %) | 53 (43 %) |
| Male | 23 (52 %) | 25 (56 %) | 21 (62 %) | 69 (56 %) |
| Intersex | 0 (0 %) | 0 (0 %) | 0 (0 %) | 0 (0 %) |
| Prefer not to Answer | 0 (0 %) | 0 (0 %) | 0 (0 %) | 0 (0 %) |
| Missing | 0 (0%) | 1 (2.2%) | 0 (0%) | 1 (0.8%) |
| Race | ||||
| Asian - East | 5 (11 %) | 15 (33 %) | 4 (12 %) | 24 (20 %) |
| Asian - South Asia | 5 (11 %) | 10 (22 %) | 2 (6 %) | 17 (14 %) |
| Asian - South East | 3 (7 %) | 1 (2 %) | 3 (9 %) | 7 (6 %) |
| Black - African American | 1 (2 %) | 1 (2 %) | 2 (6 %) | 4 (3 %) |
| Black - Caribbean | 1 (2 %) | 1 (2 %) | 4 (12 %) | 6 (5 %) |
| Latin American | 6 (14 %) | 1 (2 %) | 1 (3 %) | 8 (7 %) |
| Middle Eastern | 1 (2 %) | 2 (4 %) | 3 (9 %) | 6 (5 %) |
| South Asian - Caribbean | 1 (2 %) | 0 (0 %) | 0 (0 %) | 1 (1 %) |
| White - European | 6 (14 %) | 5 (11 %) | 6 (18 %) | 17 (14 %) |
| White - North American | 15 (34 %) | 4 (9 %) | 6 (18 %) | 25 (20 %) |
| Black - African | 0 (0 %) | 4 (9 %) | 3 (9 %) | 7 (6 %) |
| Missing | 0 (0%) | 1 (2.2%) | 0 (0%) | 1 (0.8%) |
| Education (years) | ||||
| Mean (SD) | 14 (± 2.0) | 17 (± 2.0) | 15 (± 1.9) | 15 (± 2.4) |
| Median [Min, Max] | 14 [10, 19] | 16 [13, 20] | 15 [11, 20] | 15 [10, 20] |
| Missing | 0 (0%) | 1 (2.2%) | 0 (0%) | 1 (0.8%) |
table1_by_group(SPASD_demo, c(
demo_age_study_entry = "Age (years)",
sex = "Sex",
race = "Race",
demo_highest_grade_self = "Education (years)",
iq_range = "IQ Range",
np_composite_tscore = "MATRICS"
))
| ASD (N=116) |
Control (N=43) |
Overall (N=159) |
|
|---|---|---|---|
| Age (years) | |||
| Mean (SD) | 21 (± 4.3) | 26 (± 5.0) | 22 (± 4.9) |
| Median [Min, Max] | 20 [15, 35] | 26 [17, 35] | 21 [15, 35] |
| Missing | 0 (0%) | 1 (2.3%) | 1 (0.6%) |
| Sex | |||
| Female | 49 (42 %) | 18 (42 %) | 67 (42 %) |
| Male | 67 (58 %) | 24 (56 %) | 91 (57 %) |
| Intersex | 0 (0 %) | 0 (0 %) | 0 (0 %) |
| Missing | 0 (0%) | 1 (2.3%) | 1 (0.6%) |
| Race | |||
| Asian | 16 (14 %) | 19 (44 %) | 35 (22 %) |
| Black or African American | 4 (3 %) | 7 (16 %) | 11 (7 %) |
| More than one race | 9 (8 %) | 2 (5 %) | 11 (7 %) |
| Not Specified | 0 (0 %) | 1 (2 %) | 1 (1 %) |
| Other | 6 (5 %) | 1 (2 %) | 7 (4 %) |
| White | 81 (70 %) | 13 (30 %) | 94 (59 %) |
| Education (years) | |||
| Mean (SD) | 13 (± 2.2) | 16 (± 2.1) | 14 (± 2.5) |
| Median [Min, Max] | 12 [9.0, 20] | 16 [11, 20] | 13 [9.0, 20] |
| Missing | 0 (0%) | 1 (2.3%) | 1 (0.6%) |
| IQ Range | |||
| 70-84 | 2 (2 %) | 1 (2 %) | 3 (2 %) |
| 85-99 | 15 (13 %) | 5 (12 %) | 20 (13 %) |
| 100-114 | 36 (31 %) | 11 (26 %) | 47 (30 %) |
| 115-129 | 41 (35 %) | 17 (40 %) | 58 (36 %) |
| 130-144 | 19 (16 %) | 6 (14 %) | 25 (16 %) |
| 145-160 | 1 (1 %) | 0 (0 %) | 1 (1 %) |
| Missing | 2 (1.7%) | 3 (7.0%) | 5 (3.1%) |
| MATRICS | |||
| Mean (SD) | 41 (± 11) | 51 (± 10) | 43 (± 12) |
| Median [Min, Max] | 42 [-3.0, 59] | 53 [16, 75] | 44 [-3.0, 75] |
| Missing | 7 (6.0%) | 5 (11.6%) | 12 (7.5%) |
plot_group_histogram(SPINR_demo_unique, "demo_age_study_entry", c("ASD", "SSD", "Control"),
xbins = list(start = 15, end = 36, size = 1),
title = "Age Distribution by Group (SPINR)",
x_title = "Age (years)")
plot_group_histogram(SPASD_demo, "demo_age_study_entry", c("ASD", "Control"),
xbins = list(start = 15, end = 36, size = 1),
title = "Age Distribution by Group (SPASD)",
x_title = "Age (years)")
plot_group_histogram(SPASD_demo, "iq", c("ASD", "Control"),
xbins = list(start = 70, end = 150, size = 10),
title = "IQ Distribution by Group (SPASD)",
x_title = "Estimated IQ")
The MATRICS Consensus Cognitive Battery is a standardized tool used to evaluate cognitive functioning across multiple domains, specifically designed for use in psychiatric and neurological research. It provides T-scores for each cognitive domain, which are standardized scores used to compare an individual’s performance to a normative reference group.
50: Average performance. Above 50: Better-than-average performance. Below 50: Worse-than-average performance.
As above, Baseline and Follow-up show the SPIN-R longitudinal cohort at each visit, one point per participant.
Evaluates sustained attention and ability to maintain focus over time. Tasks may include continuous performance tests.
plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_att_vigilance"],
"Attention/Vigilance Domain Scores Across Groups (Baseline)", x_title = "Groups")
plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_att_vigilance"],
"Attention/Vigilance Domain Scores Across Groups (Follow-up)", x_title = "Groups")
Measures the ability to temporarily store and manipulate information. Includes verbal and visual working memory tasks.
plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_work_mem"],
"Working Memory Domain Scores Across Groups (Baseline)", x_title = "Groups")
plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_work_mem"],
"Working Memory Domain Scores Across Groups (Follow-up)", x_title = "Groups")
Assesses learning and recall of verbal information. Tasks often involve memorizing and recalling word list
plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_verbal_learning"],
"Verbal Learning Domain Scores Across Groups (Baseline)", x_title = "Groups")
plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_verbal_learning"],
"Verbal Learning Domain Scores Across Groups (Follow-up)", x_title = "Groups")
Focuses on the ability to learn and recall visual patterns or images.
plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_visual_learning"],
"Visual Learning Domain Scores Across Groups (Baseline)", x_title = "Groups")
plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_visual_learning"],
"Visual Learning Domain Scores Across Groups (Follow-up)", x_title = "Groups")
Measures higher-order cognitive abilities, including abstract reasoning and decision-making.
plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_reasoning_ps"],
"Reasoning/PS Domain Scores Across Groups (Baseline)", x_title = "Groups")
plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_reasoning_ps"],
"Reasoning/PS Domain Scores Across Groups (Follow-up)", x_title = "Groups")
Measures rapid information processing and reaction time. Associated with tasks like symbol coding or category fluency.
plot_group_boxplot(filter(SPINR_cohort, timepoint == 1), np_domains["np_domain_tscore_process_speed"],
"Processing Speed Domain Scores Across Groups (Baseline)", x_title = "Groups")
plot_group_boxplot(filter(SPINR_cohort, timepoint == 2), np_domains["np_domain_tscore_process_speed"],
"Processing Speed Domain Scores Across Groups (Follow-up)", x_title = "Groups")
CNR (Contrast-to-Noise Ratio): Reflects GM/WM
contrast.
Higher is better; typical range: 1.5–2.5.
SNR (Signal-to-Noise Ratio): Overall image clarity
relative to background noise.
Typical range: 25–40.
INU Median (Bias Field Inhomogeneity): Measures
intensity non-uniformity; closer to 1 is ideal.
Typical range: 0.95–1.1.
CJV (Coefficient of Joint Variation): GM/WM
intensity overlap; lower is better.
Typical range: 0.5–0.9.
FD Mean (Framewise Displacement): Average head
motion per volume.
<0.2 mm is ideal; 0.1–0.3 mm is typical.
FD Num: Number of volumes with FD > 0.2 mm.
Lower is better; <20 common.
tSNR (Temporal SNR): Stability of voxel signal
across time.
Higher is better; typical range: 50–100.
DVARS (Standardized): Change in signal between
volumes; higher = more motion.
Values near 1 are typical.
Everyone enrolled in SPIN-R, at their actual baseline and follow-up visits. Participants rolled over from SPASD or SPINS had their baseline in that study and their follow-up in SPIN-R; participants newly recruited to SPIN-R had both visits in SPIN-R. The follow-up table shows who is available for longitudinal analyses. Race is collapsed into the SPASD / SPINS categories so the studies can be combined; age is age at the visit.
table1_by_group(filter(SPINR_cohort, timepoint == 1), c(
origin = "Origin",
age = "Age at visit (years)",
sex = "Sex",
race = "Race",
education = "Education (years)",
np_composite_tscore = "MATRICS composite"
))
| ASD (N=44) |
Control (N=45) |
SSD (N=33) |
Overall (N=122) |
|
|---|---|---|---|---|
| Origin | ||||
| Rolled over from SPASD | 39 (89 %) | 19 (42 %) | 0 (0 %) | 58 (48 %) |
| Rolled over from SPINS | 0 (0 %) | 9 (20 %) | 9 (27 %) | 18 (15 %) |
| New SPIN-R recruit | 5 (11 %) | 17 (38 %) | 24 (73 %) | 46 (38 %) |
| Rolled over (baseline not found) | 0 (0 %) | 0 (0 %) | 0 (0 %) | 0 (0 %) |
| Age at visit (years) | ||||
| Mean (SD) | 23 (± 5.4) | 26 (± 5.2) | 26 (± 4.9) | 25 (± 5.4) |
| Median [Min, Max] | 22 [16, 36] | 26 [18, 37] | 25 [17, 35] | 24 [16, 37] |
| Sex | ||||
| Female | 21 (48 %) | 19 (42 %) | 13 (39 %) | 53 (43 %) |
| Male | 23 (52 %) | 26 (58 %) | 20 (61 %) | 69 (57 %) |
| Intersex | 0 (0 %) | 0 (0 %) | 0 (0 %) | 0 (0 %) |
| Prefer not to Answer | 0 (0 %) | 0 (0 %) | 0 (0 %) | 0 (0 %) |
| Race | ||||
| Asian | 10 (23 %) | 25 (56 %) | 9 (27 %) | 44 (36 %) |
| Black or African American | 1 (2 %) | 5 (11 %) | 9 (27 %) | 15 (12 %) |
| More than one race | 6 (14 %) | 2 (4 %) | 2 (6 %) | 10 (8 %) |
| Other | 4 (9 %) | 1 (2 %) | 2 (6 %) | 7 (6 %) |
| White | 23 (52 %) | 12 (27 %) | 11 (33 %) | 46 (38 %) |
| Education (years) | ||||
| Mean (SD) | 13 (± 2.3) | 16 (± 2.1) | 14 (± 1.9) | 15 (± 2.4) |
| Median [Min, Max] | 12 [10, 19] | 16 [12, 20] | 14 [10, 20] | 15 [10, 20] |
| MATRICS composite | ||||
| Mean (SD) | 40 (± 14) | 52 (± 9.2) | 39 (± 11) | 45 (± 13) |
| Median [Min, Max] | 42 [-3.0, 59] | 53 [33, 75] | 42 [18, 55] | 47 [-3.0, 75] |
| Missing | 4 (9.1%) | 3 (6.7%) | 9 (27.3%) | 16 (13.1%) |
table1_by_group(filter(SPINR_cohort, timepoint == 2), c(
origin = "Origin",
age = "Age at visit (years)",
sex = "Sex",
race = "Race",
education = "Education (years)",
np_composite_tscore = "MATRICS composite",
time_since_baseline_years = "Time since baseline (years)",
time_since_baseline_months = "Time since baseline (months)",
time_since_baseline_days = "Time since baseline (days)"
))
| ASD (N=43) |
Control (N=41) |
SSD (N=22) |
Overall (N=106) |
|
|---|---|---|---|---|
| Origin | ||||
| Rolled over from SPASD | 39 (91 %) | 19 (46 %) | 0 (0 %) | 58 (55 %) |
| Rolled over from SPINS | 0 (0 %) | 9 (22 %) | 9 (41 %) | 18 (17 %) |
| New SPIN-R recruit | 4 (9 %) | 13 (32 %) | 12 (55 %) | 29 (27 %) |
| Rolled over (baseline not found) | 0 (0 %) | 0 (0 %) | 1 (5 %) | 1 (1 %) |
| Age at visit (years) | ||||
| Mean (SD) | 25 (± 5.0) | 29 (± 5.6) | 27 (± 5.1) | 27 (± 5.4) |
| Median [Min, Max] | 24 [18, 36] | 30 [20, 39] | 26 [17, 40] | 26 [17, 40] |
| Missing | 4 (9.3%) | 12 (29.3%) | 2 (9.1%) | 18 (17.0%) |
| Sex | ||||
| Female | 20 (47 %) | 16 (39 %) | 7 (32 %) | 43 (41 %) |
| Male | 23 (53 %) | 25 (61 %) | 15 (68 %) | 63 (59 %) |
| Intersex | 0 (0 %) | 0 (0 %) | 0 (0 %) | 0 (0 %) |
| Prefer not to Answer | 0 (0 %) | 0 (0 %) | 0 (0 %) | 0 (0 %) |
| Race | ||||
| Asian | 9 (21 %) | 12 (29 %) | 5 (23 %) | 26 (25 %) |
| Black or African American | 1 (2 %) | 4 (10 %) | 4 (18 %) | 9 (8 %) |
| More than one race | 6 (14 %) | 2 (5 %) | 2 (9 %) | 10 (9 %) |
| Not Specified | 4 (9 %) | 14 (34 %) | 3 (14 %) | 21 (20 %) |
| Other | 4 (9 %) | 1 (2 %) | 1 (5 %) | 6 (6 %) |
| White | 19 (44 %) | 8 (20 %) | 7 (32 %) | 34 (32 %) |
| Education (years) | ||||
| Mean (SD) | 14 (± 2.1) | 17 (± 2.0) | 15 (± 1.9) | 15 (± 2.4) |
| Median [Min, Max] | 14 [10, 19] | 16 [13, 20] | 15 [11, 20] | 15 [10, 20] |
| MATRICS composite | ||||
| Mean (SD) | 47 (± 9.9) | 59 (± 9.2) | 43 (± 10) | 50 (± 12) |
| Median [Min, Max] | 48 [25, 65] | 58 [41, 77] | 44 [22, 61] | 50 [22, 77] |
| Missing | 5 (11.6%) | 15 (36.6%) | 8 (36.4%) | 28 (26.4%) |
| Time since baseline (years) | ||||
| Mean (SD) | 2.1 (± 1.2) | 2.1 (± 1.8) | 2.9 (± 2.1) | 2.3 (± 1.7) |
| Median [Min, Max] | 1.8 [0.51, 5.4] | 1.2 [0.51, 6.5] | 2.9 [0.58, 6.2] | 1.7 [0.51, 6.5] |
| Missing | 6 (14.0%) | 15 (36.6%) | 5 (22.7%) | 26 (24.5%) |
| Time since baseline (months) | ||||
| Mean (SD) | 25 (± 15) | 25 (± 21) | 35 (± 25) | 27 (± 20) |
| Median [Min, Max] | 22 [6.1, 65] | 14 [6.1, 77] | 35 [7.0, 75] | 20 [6.1, 77] |
| Missing | 6 (14.0%) | 15 (36.6%) | 5 (22.7%) | 26 (24.5%) |
| Time since baseline (days) | ||||
| Mean (SD) | 760 (± 450) | 750 (± 650) | 1100 (± 770) | 820 (± 600) |
| Median [Min, Max] | 660 [190, 2000] | 440 [190, 2400] | 1100 [210, 2300] | 620 [190, 2400] |
| Missing | 6 (14.0%) | 15 (36.6%) | 5 (22.7%) | 26 (24.5%) |
plot_time_between_visits(SPINR_cohort)
Participants with MATRICS (processing speed and attention/vigilance) at both baseline and follow-up, including new SPIN-R recruits who have completed their follow-up.
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_process_speed",
title = "<b>Processing Speed Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_att_vigilance",
title = "<b>Attention/Vigilance Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_work_mem",
title = "<b>Working Memory Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_verbal_learning",
title = "<b>Verbal Learning Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_visual_learning",
title = "<b>Visual Learning Domain T-Scores Over Time</b>")$plot
make_longitudinal_plot(SPINR_longitudinal, "np_domain_tscore_reasoning_ps",
title = "<b>Reasoning/Problem Solving Domain T-Scores Over Time</b>")$plot
Social cognition
Score plots show the SPIN-R longitudinal cohort (see Longitudinal Cohort), one point per participant: Baseline is each participant’s first visit (in SPASD, SPINS or SPIN-R) and Follow-up their SPIN-R follow-up. The two tabs are different samples, so differences between them are not change over time; paired change is in Longitudinal Plots MATRICS. Hover over a point to see which study the score came from.
Reading Mind Through the Eyes Test (RMET)
The Reading the Mind in the Eyes Test (RMET) is a widely used measure of social cognition, specifically targeting the ability to infer mental states, an important aspect of Theory of Mind.
How It Works: Participants are shown 36 photographs of the eye region of faces. For each photograph, they must choose the word that best describes what the person in the photograph is thinking or feeling. Four options are provided for each photograph, such as “worried,” “playful,” “jealous,” or “relaxed.”
What It Measures: RMET evaluates subtle social sensitivity and the capacity to read nonverbal social cues.
Scoring:
Higher Scores: Indicate greater social awareness and better ability to interpret others’ mental states. Lower Scores: Suggest challenges in social sensitivity, often observed in conditions like autism spectrum disorder or social anxiety.
Baseline
Follow-up
Interpersonal reactivity Index (IRI)
The Interpersonal Reactivity Index (IRI) is a multidimensional measure of empathy. It assesses both emotional and cognitive aspects of empathy, capturing how individuals understand and respond to the emotions and experiences of others.
Subscales of the IRI The IRI comprises four subscales, each targeting a distinct aspect of empathy:
Perspective Taking (PT): Reflects the cognitive aspect of empathy. Measures the ability to adopt another person’s point of view. Example: “I sometimes try to understand my friends better by imagining how things look from their perspective.”
Empathic Concern (EC): Reflects the emotional aspect of empathy. Measures feelings of compassion and concern for others. Example: “I often have tender, concerned feelings for people less fortunate than me.”
Personal Distress (PD): Measures self-oriented feelings of discomfort or anxiety in response to others’ distress. Example: “Being in a tense emotional situation scares me.”
Fantasy (FS): Assesses the tendency to imaginatively identify with fictional characters in books, movies, or stories. Example: “After watching a movie, I feel as though I am one of the characters.” Scoring and Interpretation
Higher Scores: On PT and EC: Indicate greater cognitive and emotional empathy, respectively. On FS: Suggest a strong imaginative capacity and engagement with fictional scenarios. On PD: May indicate susceptibility to personal emotional distress in challenging situations.
Lower Scores: On PT and EC: Suggest difficulty in understanding or feeling for others. On FS: Indicates less imaginative identification with fictional contexts. On PD: Suggest resilience to personal emotional distress in tense situations.
Baseline
Follow-up
The Awareness of Social Inference Test-Revised (TASIT-R)
The Awareness of Social Inference Test-Revised (TASIT-R) is a standardized assessment designed to evaluate social cognition, specifically focusing on the ability to recognize and interpret social cues in real-world scenarios. It is widely used to study social perception, inference, and pragmatic communication.
Structure of TASIT-R TASIT-R is divided into three main sections, each assessing a different aspect of social cognition:
Emotion Evaluation: Participants watch brief video clips of actors portraying various basic emotions (e.g., happiness, sadness, anger, fear) through tone, facial expressions, and body language. Measures the ability to accurately identify emotions in social contexts.
Social Inference (Minimal): Involves understanding implied meanings and subtle cues in simple, straightforward social scenarios. Measures the ability to infer others’ intentions and emotions based on situational context without relying on complex reasoning.
Social Inference (Enriched): Participants interpret more complex scenarios involving sarcasm, lies, or double meanings. Requires higher-order reasoning, such as distinguishing between literal and implied meanings or recognizing deception. Scoring and Interpretation
Higher Scores: Reflect greater accuracy in recognizing emotions, understanding social cues, and interpreting complex social scenarios.
Lower Scores: Indicate difficulties in social inference, emotion recognition, and pragmatic understanding, often seen in individuals with social communication deficits, traumatic brain injury, or neurodevelopmental disorders.
Baseline
Follow-up
Penn Emotion Recognition Task-40 (ER-40)
The Penn Emotion Recognition Task-40 (ER-40) is a standardized test designed to assess the ability to recognize and identify basic emotions from facial expressions. It is commonly used in research and clinical settings to evaluate emotional perception, a key component of social cognition.
Structure of the ER-40
Stimuli: The task includes 40 grayscale photographs of faces, each displaying one of five basic emotions:
Happy Sad Angry Fearful Neutral
Procedure: Participants are presented with each photograph and asked to select the emotion that best matches the facial expression from the provided options. Scoring and Interpretation
Accuracy: Higher scores reflect a better ability to correctly identify emotional expressions. Lower scores may indicate challenges in emotion recognition, often linked to conditions affecting social cognition, such as autism spectrum disorder, schizophrenia, or traumatic brain injury.
Emotion-Specific Patterns: Some individuals may struggle more with recognizing specific emotions (e.g., fear or anger), offering insights into specific deficits in emotional processing.
Response Time: Refers to the amount of time it takes for participants to make a decision and select an emotion label for each facial expression.
Baseline (columns)
Follow-up (columns)
Baseline (Correct Responses)
Follow-up (Correct Responses)
Baseline (Response time)
Follow-up (Response time)