# KOSATEC - délka kališních lístků (cm) # t-TEST JEDNOVÝBĚROVÝ # dataset: kosatec # Změřili jsme 50 jedinců kosatce s fialovými květy, ale nejsme si jisti, # který ze tří druhů to je: Iris setosa, Iris versicolor nebo Iris virginica? # Zároveň známe typické délky kališních lístků těchto tří druhů: # I. setosa ~ 5 cm # I. versicolor ~ 6 cm # I. virginica ~ 6.5 cm # Pomocí testu rozhodněte, který ze tří druhů to pravděpodobně je. # KONTROLA DATOVÉHO SOUBORU # je-li datový formát "data.frame", přidám attach(kosatec) ... summary(kosatec) dim(kosatec) # nebude fungovat, je-li to vektor length(kosatec) # funguje pro vektor, pro data.frame vrací počet sloupců! is.vector(kosatec) is.matrix(kosatec) is.data.frame(kosatec) # PŘEDSTAVENÍ DATOVÉHO SOUBORU attach(kosatec) mean(kosatec) # PROBLEM: kdyz se promenná uvnitr data.framu jmenuje stejne jako data.frame. kosatec<-kosatec$kosatec # uložím promennou zevnitr data.framu do vektoru. Jmena se premazou. mean(kosatec) sd(kosatec) boxplot(kosatec, ylab="cm", main="délka kališních lístků kosatce") title(sub="medián, mezikvartilové rozpětí a celkový rozsah hodnot", line=1) title(sub="n = 50", line=2) hist(kosatec, xlab="délka kališního lístku (cm)", ylab="početnost") hist(kosatec, breaks=seq(4.5, to=7, by=0.25), xlab="délka kališního lístku (cm)") hist(kosatec, breaks=seq(4.8, to=7, by=0.2), xlab="délka kališního lístku (cm)") stem(kosatec) # počet pozorování v kategoriích (zde po dvou milimetrech) # PŘEDPOKLADY PRO PARAMETRICKÝ t-TEST qqnorm(kosatec, main="Kvantilový diagram pro kosatec") qqline(kosatec) shapiro.test(kosatec) # normalita splněna # t-TEST t.test(kosatec, mu=6) # H0: náš výběr odpovídá I. versicolor # statisticky: střední hodnota výběru je shodná s mí=6 cm. # výsledek: t(49)=-0.88, p=0.38 , tedy nezamítám hypotézu o shodnosti střední hodnoty s 6cm. # může to být taky I. setosa? t.test(kosatec, mu=5) # H0: náš výběr odpovídá I. setosa # výsledek: t(49)=12.82, p<2.2e-16, tedy zamítám H0, že výběr pochází z populace I. setosa. # může to být I. virginica? t.test(kosatec, mu=6.5) # H0: náš výběr odpovídá I. virginica # výsledek: t(49)=-7.73, p=5.019e-10 = 0.0000000005019 , tedy zamítám hypotézu H0. # jednostranná alternativa # v tomto případě biologicky nedává zcela smysl, ale tréninkově: t.test(kosatec, mu=6, alternative = "less") # H0: střední hodnota výběru je větší nebo rovna 6 cm. # H1 (alternativa): stř. hodnota je MENŠÍ než 6 cm. # výsledek: t(49)=-0.88, p=0.19 , tedy nezamítám hypotézu, že stř. hodn. >= 6cm. # NEPARAMETRICKÝ WILCOXONŮV TEST # Wilcoxonův ZNAMÉNKOVÝ pořadový test s OPRAVOU NA SPOJITOST wilcox.test(kosatec, mu=6) # Yatesova oprava na spojitost tady není vhodná, máme dost pozorování (více než 30) wilcox.test(kosatec, mu=6, correct = F) # H0: medián výběru je shodný s mí=6 cm. # výsledek: V=458, p=0.37 , tedy nezamítám hypotézu, že medián je roven 6 cm. ## spočte neparametrický konfidenční interval: wilcox.test(kosatec, mu=6, correct = F, conf.int = TRUE) ## konfidenční interval s 99 % spolehlivostí: wilcox.test(kosatec, mu=6, correct = F, conf.int = TRUE, conf.level = 0.99) # H0: medián výběru je shodný s délkou Iris virginica: wilcox.test(kosatec, mu=6.5, correct = F) ## GRAFICKÉ ZOBRAZENÍ P-HODNOTY x=seq(-3,3, by=0.1) plot(x, dt(x, df=49), type="l", ylab="hustota Studentova rozdělení", xlab="") title(main="t-rozdělení, df = 49, oboustranná hypotéza") title(xlab="t", line = 2) title(sub="testová statistika t = -0.88, p = 0.38", line=3.5) abline(v=-0.88) abline(v=0.88, lty=2) abline(h=0, lty=3) px = c(-3,-0.88,-0.88,x[22:1]) py = c(0,0, dt(-0.88, df=49),dt(x[22:1], df=49)) polygon(px,py,col="lightgrey",border=NA) px = c(3,0.88,0.88,x[40:61]) # předchozí hodnoty px, py budou přepsány py = c(0,0, dt(0.88, df=49),dt(x[40:61], df=49)) polygon(px,py,col="lightgrey",border=NA) lines(x, dt(x, df=49),lwd=2.5) abline(v=0.88, lty=2) text(c(-2.2,2.2),c(0.12,0.12),"p = 0.19") arrows(1.85,0.07,2.15,0.105,code = 1) arrows(-1.85,0.07,-2.15,0.105,code = 1)