# read in the csv file generated by the batch script
outcomes <- read.csv(input_files[1])
# what is in the csv file?
summary(outcomes)
# set up the 4-square plots
layout(matrix(1:4,2,2))
# make a derived variable: success is only when all are satisfied
outcomes$success <- (outcomes$n.satisfied == outcomes$n.individuals)
# do linear regression to see what contributes to fraction satisfied
lm.s <- with(outcomes, lm(success ~ nBits + nBlocks + weightingForSharedLandscape + n.individuals + facilitationStrategy + individualProposalStrategy + blockStrategy))
# print out the result
summary(lm.s)
# plot the diagnostics
plot(lm.s)
# another derived variable, fraction satisfied
outcomes$fraction.satisfied <- outcomes$n.satisfied / outcomes$n.individuals
lm.fs <- with(outcomes, lm(fraction.satisfied ~ nBits + nBlocks + weightingForSharedLandscape + n.individuals + facilitationStrategy + individualProposalStrategy + blockStrategy))
summary(lm.fs)
plot(lm.fs)
# do linear regression for min value
lm.min <- with(outcomes, lm(min.value ~ nBits + nBlocks + weightingForSharedLandscape + n.individuals + facilitationStrategy + individualProposalStrategy + blockStrategy))
summary(lm.min)
plot(lm.min)
# do linear regression for mean value
lm.mean <- with(outcomes, lm(mean.value ~ nBits + nBlocks + weightingForSharedLandscape + n.individuals + facilitationStrategy + individualProposalStrategy + blockStrategy))
summary(lm.mean)
plot(lm.mean)
# do linear regression for max value
lm.max <- with(outcomes, lm(max.value ~ nBits + nBlocks + weightingForSharedLandscape + n.individuals + facilitationStrategy + individualProposalStrategy + blockStrategy))
summary(lm.max)
plot(lm.max)
# another derived variable: spread of values
outcomes$spread.value <- outcomes$max.value - outcomes$min.value
# do linear regression for spread
lm.spread <- with(outcomes, lm(spread.value ~ nBits + nBlocks + weightingForSharedLandscape + n.individuals + facilitationStrategy + individualProposalStrategy + blockStrategy))
summary(lm.spread)
plot(lm.spread)
# no more 4-square plots
layout(matrix(1,1,1))
# scatter plots to visualize the relationships between variables
# this is intractably big
#pairs(~success + fraction.satisfied + n.satisfied + min.value + mean.value + max.value + spread.value + nBits + nBlocks + weightingForSharedLandscape + n.individuals + facilitationStrategy + individualProposalStrategy + blockStrategy, data=outcomes)
success.freqs <- with(outcomes,as.data.frame(table(n.individuals, success)))
p.success <- success.freqs[success.freqs$success == TRUE,]
p.success$sample <- success.freqs$Freq[success.freqs$success == TRUE] + success.freqs$Freq[success.freqs$success == FALSE]
plot(p.success$n.individuals, p.success$Freq/p.success$sample,
main = 'Success vs. Group Size', xlab = 'n.individuals',
ylab = 'probability of success', ylim=c(0,1))
success.freqs <- with(outcomes,as.data.frame(table(weightingForSharedLandscape, success)))
p.success <- success.freqs[success.freqs$success == TRUE,]
p.success$sample <- success.freqs$Freq[success.freqs$success == TRUE] + success.freqs$Freq[success.freqs$success == FALSE]
plot(p.success$weightingForSharedLandscape, p.success$Freq/p.success$sample,
main = 'Success vs. Commonality', xlab = 'weightingForSharedLandscape',
ylab = 'probability of success', ylim=c(0,1))
success.freqs <- with(outcomes,as.data.frame(table(nBits, success)))
p.success <- success.freqs[success.freqs$success == TRUE,]
p.success$sample <- success.freqs$Freq[success.freqs$success == TRUE] + success.freqs$Freq[success.freqs$success == FALSE]
plot(p.success$nBits, p.success$Freq/p.success$sample,
main = 'Success vs. Size of Search Landscape', xlab = 'nBits',
ylab = 'probability of success', ylim=c(0,1))
success.freqs <- with(outcomes,as.data.frame(table(nBlocks, success)))
p.success <- success.freqs[success.freqs$success == TRUE,]
p.success$sample <- success.freqs$Freq[success.freqs$success == TRUE] + success.freqs$Freq[success.freqs$success == FALSE]
plot(p.success$nBlocks, p.success$Freq/p.success$sample,
main = 'Success vs. Smoothness of Search Landscape', xlab = 'nBlocks',
ylab = 'probability of success', ylim=c(0,1))
success.freqs <- with(outcomes,as.data.frame(table(individualProposalStrategy, success)))
p.success <- success.freqs[success.freqs$success == TRUE,]
p.success$sample <- success.freqs$Freq[success.freqs$success == TRUE] + success.freqs$Freq[success.freqs$success == FALSE]
plot(p.success$individualProposalStrategy, p.success$Freq/p.success$sample,
main = 'Success vs. Proposal Strategy', xlab = 'strategy',
ylab = 'probability of success', ylim=c(0,1))
success.freqs <- with(outcomes,as.data.frame(table(blockStrategy, success)))
p.success <- success.freqs[success.freqs$success == TRUE,]
p.success$sample <- success.freqs$Freq[success.freqs$success == TRUE] + success.freqs$Freq[success.freqs$success == FALSE]
plot(p.success$blockStrategy, p.success$Freq/p.success$sample,
main = 'Success vs. Blocking Strategy', xlab = 'strategy',
ylab = 'probability of success', ylim=c(0,1))
success.freqs <- with(outcomes,as.data.frame(table(facilitationStrategy, success)))
p.success <- success.freqs[success.freqs$success == TRUE,]
p.success$sample <- success.freqs$Freq[success.freqs$success == TRUE] + success.freqs$Freq[success.freqs$success == FALSE]
plot(p.success$facilitationStrategy, p.success$Freq/p.success$sample,
main = 'Success vs. Facilitation Strategy', xlab = 'strategy',
ylab = 'probability of success', ylim=c(0,1))