# Zadatak 1: ANOVA test (ručno) za duljine lapova #Informacije o bazi summary(iris) head(iris) boxplot(iris$Sepal.Length~iris$Species, main="Perunike", xlab="Vrste", ylab="Duljina lapa") setosa <- subset(iris, Species == "setosa") setosa mu_1 <- mean(setosa$Sepal.Length) versicolor <- subset(iris, Species == "versicolor") versicolor mu_2 <- mean(versicolor$Sepal.Length) virginica <- subset(iris, Species == "virginica") virginica mu_3 <- mean(virginica$Sepal.Length) mu <- mean(iris$Sepal.Length) # 2 SSF <- 50 * (mu_1 - mu)^2 + 50 * (mu_2 - mu)^2 + 50 * (mu_3 - mu)^2 SSF df_f <- 3 - 1 MSF <- SSF / df_f MSF # 3 SSE <- sum((setosa$Sepal.Length - mu_1)^2) + sum((versicolor$Sepal.Length - mu_2)^2) + sum((virginica$Sepal.Length - mu_3)^2) SSE df_e <- 150 - 3 MSE <- SSE / df_e MSE # 4 SS <- SSF + SSE SS df <- df_f + df_e df F <- MSF / MSE F # 5 sepal_lenght_aov <- aov(Sepal.Length ~ Species, data = iris) summary(sepal_lenght_aov) #p = <2e-16 Nisu jednake po vrstama kao što smo naslutili iz boxplota ########################################## #Zadatak 2. Perunika - Levene test za varijance #instaliramo paket za leveneTest install.packages(c("car")) library(car) leveneTest(Sepal.Length ~ Species, data = iris) #p = 0.002259 Nisu jednake varijance oneway.test(Sepal.Length ~ Species, data = iris, var.equal=FALSE) #p-value < 2.2e-16 Nisu jednake duljine lapova ########################################## #Zadatak 4. Utjecaj kofeina na oprašivače #1 #Populacije su brojevi 50,100,150,200, a Levene test nam traži kategorološke varijable za populacije #Stoga radimo konverziju ppm <- as.factor(kofein$ppmCaffeine) data_kofein <- data.frame(ppmCaffeine = ppm, consumptionDifferenceFromControl = kofein$consumptionDifferenceFromControl) colnames(data_kofein) <- c("ppmCaffeine", "consumptionDifferenceFromControl") print(data_kofein) leveneTest(data_kofein$consumptionDifferenceFromControl ~ data_kofein$ppmCaffeine, data=data_kofein) #p=0.8227 Nema razlike u varijancama => ANOVA #2 kofein_aov <- aov(data_kofein$consumptionDifferenceFromControl ~ data_kofein$ppmCaffeine, data=data_kofein ) summary(kofein_aov) #p=0.0231 #3 boxplot(data_kofein$consumptionDifferenceFromControl ~ data_kofein$ppmCaffeine) TukeyHSD(kofein_aov) #Srednje vrijednosti za tretman "100", i tretmane "150" i "200" spadaju u različite grupe #(iz grafa, i iz p-vrijednosti 0.0482052, 0.0472406, 0.9999996) #dok mjesto srednje vrijednosti tretmana "50" je nejasno, #jer se ne može statistički razlikovati ni od jedne grupe #(p-vrijednosti 0.7809455,0.2534122, 0.2493712 ne odbacuju hipotezu o jednakosti sr.vr.)