load behavioral daata
df = read.csv('/Users/h/Dropbox/projects_dropbox/social_influence_analysis/resources/references/cue_behavioraldata.csv')
## [1] "X" "sub" "ses"
## [4] "run" "task" "trialindex"
## [7] "IV_cuelevel" "IV_stimintensity" "RATING_expectation"
## [10] "RATING_outcome"
# PE :: prediction error ______________________________________________________
df$PE = df$RATING_outcome - df$RATING_expectation
# Lag expectation rating ______________________________________________________
# per run/ses/sub
data_a3lag <- df %>%
group_by(sub,ses,run) %>%
mutate(next_trial.RATING_expectation = lag(RATING_expectation, n = 1, default = NA)) %>%
mutate(prev_trial.RATING_expectation = lead(RATING_expectation, n = 1, default = NA)) %>%
mutate(ave.RATING_expectation = mean(RATING_expectation, na.rm = TRUE))
data_a3lag <- data_a3lag[!is.na(data_a3lag$ave.RATING_expectation),]
taskname = 'pain'
data_a3lag$next_trial.RATING_expect_fill = coalesce(data_a3lag$next_trial.RATING_expectation, data_a3lag$ave.RATING_expectation)
data_a3lag$prev_trial.RATING_expect_fill = coalesce(data_a3lag$prev_trial.RATING_expectation, data_a3lag$ave.RATING_expectation)
data_a3lag <- data_a3lag[data_a3lag$task == 'pain',]
# EXPECTUPDATE :: expectation (N) - expectation (N-1) ________________________
df_jepma <- data_a3lag %>%
# group_by(sub,ses,run) %>%
mutate(EXPECTUPDATE_NEXT = RATING_expectation- next_trial.RATING_expect_fill) %>%
mutate(EXPECTUPDATE_PREV = RATING_expectation- prev_trial.RATING_expect_fill) %>%
mutate(EXPECTUPDATE_PREV_JEPMA = (RATING_expectation- prev_trial.RATING_expect_fill)/(PE+1))
df_jepma$PE_type[df_jepma$PE > 0] <- "aversive"
## Warning: Unknown or uninitialised column: `PE_type`.
df_jepma$PE_type[df_jepma$PE <= 0] <- "appetitive"
df_jepma$PE_con[df_jepma$PE <= 0] <- -1
## Warning: Unknown or uninitialised column: `PE_con`.
df_jepma$PE_con[df_jepma$PE > 0] <- 1
df_jepma$cue_con[df_jepma$IV_cuelevel == "low_cue"] <- -1
## Warning: Unknown or uninitialised column: `cue_con`.
df_jepma$cue_con[df_jepma$IV_cuelevel == "high_cue"] <- 1
df_jepma <- df_jepma[!is.na(df_jepma$RATING_expectation),]
write.csv(df_jepma, '/Users/h/Desktop/cuerating_0505.csv')