setwd(' ') # 1) data <- read.table('head.txt', header=TRUE) x<-data$head.L y<-data$head.W #jiz drive jsme diky scatterplotu a hodnote korelacniho koeficientu #pozorovali jistou pozitivni zavislost plot(x,y,xlab='delka hlavy',ylab='sirka hlavy',asp=1) cor(x,y) #otazkou je, zda je statisticky vyznamna, overme to vhodnym testem #H0: delka a sirka hlavy jsou nezavisle #H1: delka a sirka hlavy nejsou nezavisle #pro provedeni testu musime overit dvourozmernou normalitu dat #to jiz umime, a dokonce jsme ji overovali pro tato data #takze si postup jen rychle pripomenme #nejprve overime normalitu kazde slozky zvlast a pak obou mu1<-mean(x) mu2<-mean(y) sigma1_squared<-var(x) sigma2_squared<-var(y) rho<-cor(x,y) sigma12<-rho*sqrt(sigma1_squared*sigma2_squared) cov(x,y) mu<-c(mu1,mu2) # odhad vektoru strednich hodnot sigma<-matrix(c(sigma1_squared,sigma12,sigma12,sigma2_squared),nrow=2) # odhad kovariancni matice hist(x, prob = T, density = 30, col = 'blue', xlab = 'delka hlavy',ylab = 'hustota', main = '') curve(dnorm(x,mu1,sqrt(sigma1_squared)),add=T,col='red',lwd=2) hist(y, prob = T, density = 30, col = 'blue', xlab = 'sirka hlavy',ylab = 'hustota', main = '') curve(dnorm(x,mu2,sqrt(sigma2_squared)),add=T,col='red',lwd=2) shapiro.test(x) shapiro.test(y) library(rrcov) plot(x,y,xlab='delka hlavy',ylab='sirka hlavy',asp=1) points(getEllipse(mu,sigma,crit=0.95),type='l',col=2) #mame overeny predpoklady testu, muzeme jej provest cor.test(x,y) #H0 zamitame # 2) data <- read.table('WHR.csv', header=TRUE,sep=';') head(data) x<-data$age y<-data$WHR plot(x,y,xlab='vek',ylab='WHR') cor(x,y) #H0: vek a WHR jsou nezavisle #H1: vek a WHR nejsou nezavisle #vykazuji data dvourozmernou normalitu? #v tomto pripade ne, musime pouzit Spearmanuv test cor(x,y,method='spearman') cor.test(x,y,method='spearman',exact=FALSE) library(RVAideMemoire) spearman.ci(x,y, conf.level = 0.95) #H0 zamitame # 3) x<-c(6, 7, 1, 8, 4, 2, 9, 12, 10, 3, 5, 11) y<-c(4, 5, 2, 10, 6, 1, 7, 11, 8, 3, 12, 9) plot(x,y) cor(x,y,method='spearman') #v tomto pripade ma smysl uvazovat jednostrannou alternativu #H0: hodnoceni IT a antropologu jsou nezavisla #H1: hodnoceni IT a antropologu jsou pozitivne korelovana (v souladu) #data jsou poradi, tedy nemaji normalni rozdeleni #musime pouzit Spearmanuv test cor.test(x,y,method='spearman',alt='greater') #H0 zamitame # 4) data <- read.table('newborns.txt', header=TRUE) data2<-na.omit(data) data2$edu.M <- ordered(as.factor(data2$edu.M)) levels(data2$edu.M) <- c('zakladni','vyucena','maturita','VS') x<-data2$sex.C y<-data2$edu.M #zacneme opet vhodnou exploraci table(x,y) prop.table(table(x,y),1) mosaicplot(table(x,y),col=1:4,main='Mozaikovy graf',ylab='vzdelani matky',xlab='pohlavi novorozence') #a pote formalne testujeme #H0: vzdelani matky a pohlavi novorozence jsou nezavisle #H1: vzdelani matky a pohlavi novorozence nejsou nezavisle #zkontrolujeme, ze vsechny ocekavane cetnosti jsou alespon 5 chisq.test(table(x,y))$expected #a pouzijeme Pearsonuv test nezavislosti chisq.test(table(x,y)) #H0 nezamitame library(confintr) cramersv(table(x,y)) #sila zavislosti je zanedbatelna # 5) tabulka <- matrix(c(5, 3, 19,17), nrow = 2, byrow = TRUE) colnames(tabulka)=c('muz', 'zena') rownames(tabulka)=c('kurak', 'nekurak') tabulka #zacneme exploraci dat prop.table(tabulka,2) mosaicplot(t(tabulka),col=c(1,3),main='Mozaikovy graf',xlab='pohlavi',ylab='koureni') #a pote formalne testujeme #H0: pohlavi a koureni jsou nezavisle #H1: pohlavi a koureni nejsou nezavisle #podivame se na ocekavane cetnosti za platnosti H0 chisq.test(tabulka)$expected #polovina z nich je mensi nez 5, Pearsonuv test nemuzeme pouzit chisq.test(tabulka) #nemuzeme pouzit, viz warning!!!! #musime pouzit Fisheruv exaktni faktorialovy test fisher.test(tabulka) #H0 nezamitame #vsimneme si jeste podilu sanci (odds ratio) 5*17/(19*3) #sance, ze muz je kurak, je o 49 procent vyssi nez u zen