diff --git a/07_final_assignment/baboonSimulation.R b/07_final_assignment/baboonSimulation.R index 8329e01..5cc73f4 100644 --- a/07_final_assignment/baboonSimulation.R +++ b/07_final_assignment/baboonSimulation.R @@ -1,6 +1,9 @@ +# install.packages("fields") library(testthat) library(ndl) library(compiler) +library(fields) +library(parallel) enableJIT(3) monkeydat <- data.frame(Monkey=c("DAN", "ART", "CAU", "DOR", "VIO", "ARI"), @@ -268,6 +271,7 @@ nonwordAcc <- nrow(nonwordTrials[nonwordTrials$Response == "Nonword",]) / nrow(nonwordTrials) wordAcc <- nrow(nonwordTrials[wordTrials$Response == "Word",]) / nrow(wordTrials) genAcc <- (nrow(nonwordTrials) * nonwordAcc + nrow(wordTrials) * wordAcc) / trialNum + c("Sim", trialNum, learnedWordNum, @@ -297,7 +301,61 @@ monkeydat +resultdat <- data.frame(alpha=numeric(1), beta=numeric(1), NumTrials=numeric(1), NumWordsLearned=numeric(1), + NumNonwordsPresented=numeric(1), GeneralAccuracy=numeric(1), + WordAccuracy=numeric(1), NonwordAccuracy=numeric(1)) +write.table(resultdat, file="resultdat.txt", col.names=names(resultdat)) + +trialCount <- 50000 + +a.seq = seq(from=0, to=0.25, length.out=10) +b.seq = seq(from=0, to=0.25, length.out=10) +for( a in a.seq) { + for (b in b.seq) { + + resultdat = read.table("resultdat.txt") + + print(cat(a, b)) + s <- simulateAndAnalyse(data, trialCount, alpha=a, beta=b) + s[1] <- as.character(trialCount) + resultdat <- rbind(resultdat, + c(a, b, s[2:length(s)])) + + write.table(resultdat, file="resultdat.txt", col.names=names(resultdat)) + } +} + +resultdat = resultdat[-1, ] #remove 1st row which is just always 0 +View(resultdat) + +res.matrix = matrix(nrow=length(a.seq), ncol=length(b.seq)) +counter = 1 +counter.a = 1 +for( a in a.seq) { + counter.b = 1 + for (b in b.seq) { + res.matrix[counter.a, counter.b] = as.numeric(resultdat[counter, ]$GeneralAccuracy) + counter = counter + 1 + counter.b = counter.b + 1 + } + counter.a = counter.a + 1 +} + +View(res.matrix) + # TODO: Durchlaufen lassen fuer ca 50k Trials fuer verschiedene alpha, beta zwischen 0 und 1 # TODO: Plotten der verschiedenen Ergebnisse (num,acc) als heatmap 2d plot. # TODO: Plotten der Unterschiede zu den Vorgabeaffen und optimale alpha beta fuer diese finden. -# EOF + +#mat1 = matrix(rexp(200, rate=.1), ncol=50, nrow=50) +#mat2 = matrix(rexp(200, rate=.1), ncol=50, nrow=50) + +image.plot(res.matrix, main="Word Accuracy", xlab="alpha", ylab="beta", + useRaster=TRUE, col = topo.colors(100)) + + +View(m1) + + + +# EOF \ No newline at end of file