# take all LTM stimuli that were WM samples AND were answered correctly
ltm_samples_from_wm <- ltm_data %>%
dplyr::filter(!is.na(image_role)) %>%
dplyr::filter(image_role != "root") %>%
dplyr::filter(is_neutral == FALSE) %>%
dplyr::filter(wm_correct == TRUE) %>%
dplyr::filter(triplet_id != 214) # 214 had both targs and foils
wm_image_stats <- wm_data %>%
select(unique_id, triplet_id, V2_targ_minus_foil, IT_targ_minus_foil)
ltm_samples_with_stats <- ltm_samples_from_wm %>%
left_join(wm_image_stats, by = c("unique_id", "triplet_id")) %>%
mutate(
V2_tested_minus_untested = ifelse(image_role == "target",
V2_targ_minus_foil, -V2_targ_minus_foil),
IT_tested_minus_untested = ifelse(image_role == "target",
IT_targ_minus_foil, -IT_targ_minus_foil)
)
# so first we'll need to re-combine some image stats...
wm_image_stats <- wm_data %>%
select(unique_id, triplet_id,
V2_targ_minus_foil, IT_targ_minus_foil)
ltm_samples_with_stats <- ltm_samples_from_wm %>%
left_join(wm_image_stats, by = c("unique_id", "triplet_id"))
# now let's get the image stat we need...
ltm_samples_with_stats <- ltm_samples_with_stats %>%
mutate(
V2_tested_minus_untested = ifelse(image_role == "target",
V2_targ_minus_foil,
-V2_targ_minus_foil),
IT_tested_minus_untested = ifelse(image_role == "target",
IT_targ_minus_foil,
-IT_targ_minus_foil)
)
# For each version, predict P(WM correct)
# And then do 1 - P(WM correct) to get the competition index
ltm_samples_with_stats_v1 <- ltm_samples_with_stats %>%
dplyr::filter(version == "v1") %>%
mutate(
pred_wm_correct = predict(mod_linear_relative_v1,
newdata = data.frame(
IT_targ_minus_foil = IT_tested_minus_untested,
unique_id = unique_id,
triplet_id = triplet_id
),
type = "response",
allow.new.levels = TRUE),
comp_index = 1-pred_wm_correct
)
ltm_samples_with_stats_v2 <- ltm_samples_with_stats %>%
dplyr::filter(version == "v2") %>%
mutate(
pred_wm_correct = predict(mod_linear_relative_v2,
newdata = data.frame(
IT_targ_minus_foil = IT_tested_minus_untested,
unique_id = unique_id,
triplet_id = triplet_id
),
type = "response",
allow.new.levels = TRUE),
comp_index = 1-pred_wm_correct
)
ltm_samples_with_stats_v3 <- ltm_samples_with_stats %>%
dplyr::filter(version == "v3") %>%
mutate(
pred_wm_correct = predict(mod_linear_relative_v3,
newdata = data.frame(
IT_targ_minus_foil = IT_tested_minus_untested,
unique_id = unique_id,
triplet_id = triplet_id
),
type = "response",
allow.new.levels = TRUE),
comp_index = 1-pred_wm_correct
)
final_ltm_samples_with_stats <- rbind(ltm_samples_with_stats_v1,
ltm_samples_with_stats_v2,
ltm_samples_with_stats_v3)
rm(ltm_samples_with_stats_v1,
ltm_samples_with_stats_v2,
ltm_samples_with_stats_v3,
ltm_samples_with_stats)