R script to analyze random data simulating a six sided die
# Analyze dice data to establish if it is random | |
setwd("~/Development/hardware-rng/avr-hardware-random-number-generation/Entropy/examples/Dice") | |
library(foreign) | |
library(prettyR) | |
sink("analysis.prn") | |
Dice.data <- read.csv("dice.txt") | |
Dice.data$Sum <- Dice.data$Die1 + Dice.data$Die2 | |
png(filename="cumulative.png", width=800, height=600) | |
hist(Dice.data$Sum, | |
freq=FALSE, | |
breaks=c(1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5), | |
main="Distribution of Dice rolls", | |
xlab="Combined value", | |
ylab="Probability", | |
ylim=c(0.00,0.20)) | |
dev.off() | |
Dice.data.freq <- freq(Dice.data, display.na=FALSE,decr.order=FALSE) | |
Dice.data.freq <-as.data.frame(Dice.data.freq["Sum"]) | |
print(Dice.data.freq) | |
events <- sum(Dice.data.freq$Sum) | |
print(chisq.test(Dice.data.freq$Sum, p=c(0.0278,0.0556,0.0833,0.1111,0.1389,0.1666,0.1389,0.1111,0.0833,0.0556,0.0278))) | |
Independent.Rolls <- c(Dice.data$Die1,Dice.data$Die2) | |
png(filename="independent.png",width=800,height=600) | |
hist(Independent.Rolls, | |
freq=FALSE, | |
breaks=c(0.5,1.5,2.5,3.5,4.5,5.5,6.5), | |
main="Distribution of Dice rolls", | |
xlab="Independent values", | |
ylab="Probability", | |
ylim=c(0.00,0.20)) | |
dev.off() | |
Independent.Rolls.freq <- freq(Independent.Rolls, display.na=FALSE,decr.order=FALSE) | |
Independent.Rolls.freq <- as.data.frame(Independent.Rolls.freq["Independent.Rolls"]) | |
print(Independent.Rolls.freq) | |
print(chisq.test(Independent.Rolls.freq)) | |
sink() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment