#Preliminary Packages
library(ggplot2)
#Preliminary Calls
b <- 2
sd1 <- c(0.5, 0.75)
######################## FUNCTION 1
# Creates Values / Model
# Input: Sample Size, Sample Means, Sample SD
# Output: A Data Frame Representing the Given Parameters
myFunction <- function(nGroup = b, nName1 = c("Low", "High"),
nSize1 = c(50,50), nMean1 = c(1.5,2), sd = sd1){
ID <- 1:100
resVar <- c(rnorm(n = nSize1[1], mean = nMean1[1], sd = sd[1]),
rnorm(n = nSize1[2], mean = nMean1[2], sd = sd[2]))
TGroup <- rep(nName1, nSize1)
ANOdata <- data.frame(ID,TGroup, resVar)
return(ANOdata)
}
myDF <- myFunction()
####################################
########################### FUNCTION 2
# Creates ANOVA
# Input: Data Frame
# Output: Anova Test
AnoFunction <- function(data=myDF){
ANOmodel <- aov(myDF$resVar ~ myDF$TGroup, data = myDF)
ANOSummary <- summary(ANOmodel)
return(ANOSummary)
}
AnoFunction()
## Df Sum Sq Mean Sq F value Pr(>F)
## myDF$TGroup 1 4.481 4.481 14.32 0.000266 ***
## Residuals 98 30.667 0.313
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#####################################
########################## FUNCTION 3
# Function to create BoxPlot
# Input
ANOVAPlot <- function(data = myDF){
ggplot(data = data, aes(x = myDF$TGroup, y = myDF$resVar, fill = myDF$TGroup)) +
geom_boxplot(colour = "Black") +
scale_y_continuous(name = "Metabolic Rate") +
scale_x_discrete(name = "Temperature Treatment") +
ggtitle("Metabolic Rates in High vs Low Temperature") +
theme_bw()
}
ANOVAPlot()

######################################
######################### FUNCTION 4
# Function to Extract P-Values
# Input: Anova test and data frame
# Output: Extraction of p-value
myDF2 <- myFunction()
ANOVApVals <- function(data = myDF2){
ANOVApVals <- aov(myDF$resVar ~ myDF$TGroup, data = data)
summary(ANOVApVals)[[1]]["Pr(>F)"][1]
}
ANOVApVals()
## Pr(>F)
## myDF$TGroup 0.0002659 ***
## Residuals
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#######################################
######################## FOR LOOP - P-Values
pVals <- vector(mode = "numeric")
for(i in 1:10){
forloopdf <- myFunction()
pVals[i] <- ANOVApVals(forloopdf)
}
pVals
## [[1]]
## [1] 0.000265858 NA
##
## [[2]]
## [1] 0.000265858 NA
##
## [[3]]
## [1] 0.000265858 NA
##
## [[4]]
## [1] 0.000265858 NA
##
## [[5]]
## [1] 0.000265858 NA
##
## [[6]]
## [1] 0.000265858 NA
##
## [[7]]
## [1] 0.000265858 NA
##
## [[8]]
## [1] 0.000265858 NA
##
## [[9]]
## [1] 0.000265858 NA
##
## [[10]]
## [1] 0.000265858 NA
Question 3:
# Form Results Matrix
Results <- matrix(nrow=20,ncol=4)
colnames(Results)=c("Sample Size", "Metabolic Rate" ,"Slope","P-Value")
###### Couldn't get this to work but I think it is close!
#for(i in 1:10){
#forloopdf <- myFunction()
#pVals[i] <- ANOVApVals(forloopdf)
#Results[i, 1] <- pVals[i]
#}
# View(Results)