#================================================================================================= # Priklad. 2.1 - Nominalni data data <- data.frame(vysoke=c(6,20,18), stredni=c(6,15,12), nizke=c(4,7,12), row.names=c('svetle', 'stredni', 'tmave')) # vytvoreni tabulky data apply(data, 2, sum) # pocet jednotlivych variant dlanovych linii v souboru: vysoke umisteni 44x stredni umisteni 33x, nizke umisteni 23x apply(data, 1, sum) # pocet jednotlivych barev vlasu v souboru: svetle vlasy 16x, stredni odstin 42x, tmavy odstin 42x library(lsr) # nacteni knihovny lsr kvuli funkci cramersV round(cramersV(data), 4) # vypocet Cramerova koeficientu # Mezi typem dlanovych linii a barvou vlasu existuje slaby stupen zavislosti #================================================================================================= # Priklad 2.2 - Ordinalni data data <- read.delim('znamky_me.txt', sep='\t', header=T) # nacteni dat s hlavickou (header=T) head(data) matematika <- data$math anglictina <- data$english pohlavi <- data$sex sort(anglictina) # serazeni hodnot znamek z anglictiny od nejmensi po nejvetsi length(anglictina) # pocet znamek z anglictiny (20) qA <- quantile(anglictina, probs=c(0.5, 0.25, 0.75), type=2) # vypocet medianu (probs=0.5), dolniho kvartilu (probs=0.25) a hodniho kvartilu (probs=0.75) qA # type=2 .. funkce quantile() pocita kvantily 9 ruznymi zpusoby. type=2 odpovida vysledkum rucniho vypoctu iqr <- qA[3] - qA[2] # kvartilove rozpeti iqr tabA <- data.frame(median=qA[1], dolni.kvartil=qA[2], horni.kvartil=qA[3], IQR=iqr, row.names='anglictina') # prehledna tabulka vysledku tabA boxplot(anglictina, matematika, main='Krabicovy graf', xlab='predmet', ylab='znamka', ylim=c(0,5), names=c('anglictina', 'matematika'), border='darkgreen', col='darkolivegreen1') # Krabicovy diagram cor(anglictina, matematika, method='spearman') # Spearmanuv korelacni koeficient poradove zavislosti mezi znakem X...znamka z anglictiny a znakem Y...znamka z matematiky # Mezi znakou z anglictiny a znamkou z matematiky existuje vyznacny stupen prime poradove zavislosti. source('AS-funkce.R') # nacteni .R souboru s naprogramovanymi funkcemi dotplot(matematika, anglictina) # teckovy graf...potreba 'dosperkovat' abline(v=seq(1,4, by=0.5), col='grey80', lty=2) # svisle referencni cary abline(h=seq(1,4, by=0.5), col='grey80', lty=2) # vodorovne referencni cary #================================================================================================= # Priklad 2.3 - Ordinalni data # Stejna data jako v prikladu 2.2, ale zapsana pomoci sumarizacni tabulky (viz zadani) # !!! NUTNO ROZEPSAT DO VEKTORU o delce dvaceti hodnot!!! anglina <- c(1,1,1,1,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4) length(anglina) qA2 <- quantile(anglina, probs=c(0.5, 0.25, 0.75), type=2) # vypocet kvantilu qA2 iqr2 <- qA2[3] - qA2[2] # vypocet IQR iqr2 tabA2 <- data.frame(median=qA2[1], dolni.kvartil=qA2[2], horni.kvartil=qA2[3], IQR=iqr2, row.names='anglictina') tabA2 #================================================================================================= # Priklad 2.4 - Intervalova data library(e1071) data <- read.delim('lebky.txt', sep='\t', dec='.', header=F) # nacteni dat bez hlavicky (header=F) head(data) names(data) <- c('delka', 'sirka', 'pohlavi') # vytvoreni hlavicky (pojmenovani sloupcu) delka.M <- data$delka[data$pohlavi=='muz'] # vyber delky lebky (mozkovny) muzu n <- length(delka.M) # pocet hodnot n=216 muzu n mean.D <- mean(delka.M) # aritmeticky prumer s2.D <- 1/n*sum((delka.M-mean.D)^2) # rozptyl s.D <- sqrt(s2.D) # smerodatna odchylka koef.var.D <- s.D/mean.D*100 # KOEFICIENT VARIACE ! (s/m)*100 sikmost.D <- skewness(delka.M, type=2) # koeficient sikmosti spicatost.D <- kurtosis(delka.M, type=2) # koeficient spicatosti tab.D <- data.frame(prumer=mean.D, rozptyl=s2.D, sm.odch=s.D, koef.var=koef.var.D, sikmost=sikmost.D, spicatost=spicatost.D) # vytvoreni prehledne tabulky vysledku round(tab.D,4) # zaokrouhleni vysledku sirka.M <- data$sirka[data$pohlavi=='muz'] # vyber sirky lebky (mozkovny muzu) cor(delka.M, sirka.M, method='pearson') # Pearsonuv korelacni koeficient linearni zavislosti znaku X... delka mozkovky a znaku Y... sirka mozkovny # Mezi delkou mozkovny a sirkou mozkovny existuje nizky stupen prime liearni zavislosti. plot(sirka.M, delka.M) # teckovy graf - potreba 'vysperkovat'