#Bayesian Analysis Module II examples: library("BayesFactor") #t-test #Data formatting data(sleep) diffScores <- sleep$extra[1:10] - sleep$extra[11:20] #Standard t.test(diffScores) #Bayes bf_t <- ttestBF(x = diffScores) bf_t #alternative model 1/bf_t #null model #Chains chains <-posterior(bf_t, iterations=1000) summary(chains) chains2 <- recompute(chains, iterations = 10000) plot(chains2[,1:2]) #Multiple bfInterval <- ttestBF(x = diffScores, nullInterval=c(-Inf,0)) allbf <- c(bf_t, bfInterval) allbf plot(allbf) #------------------------------------------------------------------------------; #ANOVA #Data formatting plot(chickwts$weight~chickwts$feed) #Standard summary(aov(weight~feed, data=chickwts)) #Bayes bf_a <-anovaBF(weight~feed, data=chickwts) bf_a #Chains chains<-posterior(bf_a, iterations=1000) summary(chains) plot(chains[,2:7]) #------------------------------------------------------------------------------; #Simple Linear Regression #Data formatting data(attitude) par(mfrow=c(1,1)) plot(x=attitude$complaints, y=attitude$rating) #Standard lm1 = lm(rating ~ complaints, data = attitude) summary(lm1) #Bayes bf_r <-regressionBF(rating ~ complaints, data=attitude) bf_r #Chains chains<-posterior(bf_r, iterations=1000) summary(chains) #------------------------------------------------------------------------------; #Multiple Linear Regression #Data formatting data(attitude) #Standard lm2 = lm(rating ~ ., data = attitude) summary(lm2) #Bayes bf_r2 <-regressionBF(rating ~ ., data=attitude) length(bf_r2) head(bf_r2, n=6) #Compare 5 models to best bf_r2.2 <- head(bf_r2) / max(bf_r2) bf_r2.2 plot(bf_r2.2)