rm(list=ls(all=TRUE)) # clear all variables graphics.off() # clear all graphics # Decision Making # Greg Francis # PSY 626 # 02 October 202 # load full data file DMdata<-read.csv(file="DecisionMaking.csv",header=TRUE,stringsAsFactors=FALSE) # load the rethinking library library(rethinking) # Different probabilities DMdata$ConditionIndex <- coerce_index(DMdata$StatementType) # 2 is Save, 1 is Die DMmodel1 <- map( alist( ChooseA ~ dbinom(1, p), logit(p) <- a[ConditionIndex], a[ConditionIndex] ~ dnorm(0, 10) ), data= DMdata ) print(precis(DMmodel1)) cat("Finished with DMmodel1\n") post<-extract.samples(DMmodel1, n= 1000) dens(logistic(post$a[,1])) dens(logistic(post$a[,2])) SavePost <- logistic(post$a[,2]) DiePost <- logistic(post$a[,1]) cat("Probability p_Save > p_Die = ", length(SavePost[SavePost> DiePost])/length(SavePost) ) # Null model DMmodel0 <- map( alist( ChooseA ~ dbinom(1, p), logit(p) <- a, a ~ dnorm(0, 10) ), data= DMdata ) print(precis(DMmodel0)) cat("Finished with DMmodel0\n") a=coef(DMmodel0)["a"] cat("Probability of Sure response: ", logistic(a)) # Framing effect model DMdata$IsSave <- ifelse(DMdata$StatementType=="Save", 1, 0) DMmodel2 <- map( alist( ChooseA ~ dbinom(1, p), logit(p) <- a + b*IsSave, a ~ dnorm(0, 10), b ~ dunif(0, 5) ), DMdata ) print(precis(DMmodel2)) cat("Finished with DMmodel2\n") cat("Probability of Sure response for Die: ", logistic(coef(DMmodel2)["a"])) cat("Probability of Sure response for Save: ", logistic(coef(DMmodel2)["a"]+coef(DMmodel2)["b"])) print(compare(DMmodel0, DMmodel1, DMmodel2))