Rein D. Otsason edited Appendices.tex  about 10 years ago

Commit id: ed41eb92fc70466a5bc555b28813605d1278227d

deletions | additions      

       

\section{Appendices} \appendix  \section{R Code}  \begin{verbatim}  # AUTHOR: Rein Otsason  # TEAM: Samuel Buckstein, Natalie Landon-Brace, Rein Otsason  sink("statsresults.txt", split=TRUE, append=FALSE)  # Import the raw data  data <- read.csv("statsdata.csv", header=TRUE, sep=",", na.strings = "x")  # Data with misses replaced with the penalty value  data.penalty <- data  data.penalty[is.na(data.penalty)] <- 150 # Penalty for missing; arbitrary  # Accuracy metric -- simple average of the 5 shots  accuracy <- (data.penalty$Shot1 + data.penalty$Shot2 + data.penalty$Shot3 + data.penalty$Shot4 + data.penalty$Shot5) / 5  data.accuracy <- data.frame(data, accuracy)  # Vectors of time data  times.10 <- data$Time[which(data$Distance == 10)]  times.20 <- data$Time[which(data$Distance == 20)]  times.30 <- data$Time[which(data$Distance == 30)]  # Vectors of accuracy data  accuracy.10 <- data.accuracy$accuracy[which(data.accuracy$Distance == 10)]  accuracy.20 <- data.accuracy$accuracy[which(data.accuracy$Distance == 20)]  accuracy.30 <- data.accuracy$accuracy[which(data.accuracy$Distance == 30)]  ## Time data analysis  # Test for normality of time data  print("Shapiro-Wilks results for time data: ")  shapiro.test(times.10)  shapiro.test(times.20)  shapiro.test(times.30)  # Test homogeneity of variances  var.test(times.10, times.20) # Between 10 m and 20 m  var.test(times.10, times.30) # Between 10 m and 30 m  var.test(times.20, times.30) # Between 20 m and 30 m  # Two-sample Student's t-test, assuming equal variance and independence  t.test(times.10, times.20, var.equal=TRUE, paired=TRUE)  t.test(times.10, times.30, var.equal=TRUE, paired=FALSE)  t.test(times.20, times.30, var.equal=TRUE, paired=FALSE)  ## Accuracy data analysis  # Test for normality of accuracy data  print("Shapiro-Wilks results for accuracy data:")  shapiro.test(accuracy.10)  shapiro.test(accuracy.20)  shapiro.test(accuracy.30)  # Test homogeneity of variances  print("F-test for homogeneity of variances:")  var.test(accuracy.10, accuracy.20)  var.test(accuracy.10, accuracy.30)  var.test(accuracy.20, accuracy.30)  # Two-sample Student's t-test  t.test(accuracy.10, accuracy.20, var.equal=FALSE, paired=TRUE)  t.test(accuracy.10, accuracy.30, var.equal=FALSE, paired=FALSE)  t.test(accuracy.20, accuracy.30, var.equal=TRUE, paired=FALSE)  ## Summary statistics  print("Accuracy, 10 m:")  print(sprintf("Mean: %f", mean(accuracy.10)))  print(sprintf("variance: %f", var(accuracy.10)))  print("Accuracy, 20 m:")  print(sprintf("Mean: %f", mean(accuracy.20)))  print(sprintf("variance: %f", var(accuracy.20)))  print("Accuracy, 30 m:")  print(sprintf("Mean: %f", mean(accuracy.30)))  print(sprintf("variance: %f", var(accuracy.30)))  print("Time, 10 m:")  print(sprintf("Mean: %f", mean(times.10)))  print(sprintf("variance: %f", var(times.10)))  print("Time, 20 m:")  print(sprintf("Mean: %f", mean(times.20)))  print(sprintf("variance: %f", var(times.20)))  print("Time, 30 m:")  print(sprintf("Mean: %f", mean(times.30)))  print(sprintf("variance: %f", var(times.30)))  sink()  png(filename="experience_boxplot.png")  boxplot(accuracy~Experience, data=data.accuracy, main="Accuracy compared with experience", xlab="Experience", ylab="Accuracy (lower is better)")  dev.off()  \end{verbatim}