rm(list=ls(all=TRUE)) # clear all variables graphics.off() # clear all graphics # Sternberg Search # Greg Francis # PSY 626 # March 28, 2024 # Compare serial terminating and serial exhaustive models # load the rethinking library library(rethinking) # load full data file SSdata<-read.csv(file="SternbergSearch.csv",header=TRUE,stringsAsFactors=FALSE) SSdata$TargetPresent <- ifelse(SSdata$Condition =="Present", 1, 0) SSdataTerminating <- data.frame(RT= SSdata$RT, MemorySetSize=SSdata$MemorySetSize, Condition=SSdata$TargetPresent, Participant=SSdata$Participant) # Twice slope, different sigma's # Same slope and intercept for each participant SSTerminating <- map( alist( RT ~ dnorm(mu, sigma), mu <- a + (b +(1-Condition)*b)*MemorySetSize, a ~ dnorm(1000, 500), b ~ dnorm(0, 100), sigma <- c1*Condition + c2*(1-Condition), c1 ~ dunif(0, 2000), c2 ~ dunif(0, 2000) ), data= SSdataTerminating ) cat("Finished with self-terminating model") # Same slope (exhaustive model) SSExhaustive <- map( alist( RT ~ dnorm(mu, sigma), mu <- a + b*MemorySetSize, a ~ dnorm(1000, 500), b ~ dnorm(0, 100), sigma ~ dunif(0, 2000) ), data= SSdataTerminating ) # Parallel search (no slope) SSParallel <- map( alist( RT ~ dnorm(mu, sigma), mu <- a , a ~ dnorm(1000, 500), sigma <- c1*Condition + c2*(1-Condition), c1 ~ dunif(0, 2000), c2 ~ dunif(0, 2000) ), data= SSdataTerminating ) print(compare(SSTerminating, SSExhaustive, SSParallel))