data <- read.delim('znamky.txt', sep='', dec='.', header=F) head(data) # BODOVE JEDNOROZMERNE ROZDELENI DAT # 1.1 Uprava dat names(data) <- c('matematika', 'anglictina', 'pohlavi') head(data) f1 <- factor(data$matematika, levels=c(1,2,3,4), labels=c('vyborne', 'chvalitebne', 'dobre', 'nedostatecne')) f2 <- factor(data$anglictina, levels=c(1,2,3,4), labels=c('vyborne', 'chvalitebne', 'dobre', 'nedostatecne')) f3 <- factor(data$pohlavi, levels=c(0,1), labels=c('zena', 'muz')) data2 <- data.frame(f1, f2, f3) head(data2) names(data2) <- c('matematika', 'anglictina', 'pohlavi') head(data2) # 1.2 Variacni rada matematika <- data2$matematika anglictina <- data2$anglictina n1 <- sum(matematika == 'vyborne') n2 <- sum(matematika == 'chvalitebne') n3 <- sum(matematika == 'dobre') n4 <- sum(matematika == 'nedostatecne') nj <- c(n1, n2, n3, n4) # absolutni cetnosti n <- sum(nj) pj <- nj/n # relativni cetnosti Nj <- cumsum(nj) # absolutni kumulativni cetnosti Fj <- cumsum(pj) # relativni kumulativni cetnosti nazvy.znamek <- c('vyborne', 'chvalitebne', 'dobre', 'nedostatecne') variacni.rada <- data.frame(nj, pj, Nj, Fj, row.names=nazvy.znamek) variacni.rada # 1.2 Sloupkovy graf barplot(nj, col='white', border='white', axes=T, xlab='znamka', ylab='Absolutni cetnosti', main='Sloupkovy graf - Matematika') # priprava grafu: nazev, osy, ale nevykreslujeme sloupce barplotu abline(h=0:9, col='grey80', lty=2)# vodorovne referencni cary barplot(nj, col='blue', border='darkblue', axes=F, density=20, add=T) # dokresleni sloupcu do stavajiciho grafu # 1.2 Polygon cetnosti plot(1:4, nj, type='n', xlim=c(0.5,4.5), ylim=c(1,9), xlab='znamka', ylab='Absolutni cetnosti', main ='Polygon cetnosti', axes=F) abline(h=0:9, col='grey80', lty=2) abline(v=0:5, col='grey80', lty=2) lines(1:4, nj, col='darkblue', lwd=2) points(1:4, nj, col='darkblue', pch=20, cex=1.4) axis(1, at=1:4, nazvy.znamek) axis(2, at=0:10) box(bty='l') # BODOVE DVOUROZMERNE ROZDELENI DAT # 1.3 Tabulka Simultannich a marginalnich cetnosti K.Tab <- table(matematika, anglictina) # simultanni cesnosti pro znaky matematika a anglictina K.Tab2 <- cbind(K.Tab, suma=apply(K.Tab, 1, sum)) # marginalni cetnosti pro znak Matematika K.Tab3 <- rbind(K.Tab2, suma=apply(K.Tab2, 2, sum)) # marginalni cetnosti pro znak Anglictina K.Tab3 # 1.3 Tabulka radkove a sloupcove podminenych rel. cetnosti Tab <- table(matematika, anglictina) round(prop.table(Tab, margin=1), 3) # tabulka radkove podminenych cetnosti round(prop.table(Tab, margin=2), 3) # tabulka sloupcove podminenych cetnosti # INTERVALOVE JEDNOROZMERNE ROZDELENI DAT data <- read.delim('lebky.txt', sep='\t', dec='.', header=F) head(data) names(data) <- c('delka', 'sirka', 'pohlavi') head(data) data.M <- data[data$pohlavi=='muz', ] # vyselektovani udaju o muzich head(data.M) n.M <- dim(data.M)[1] # pocet muzu v databazi Sturges <- 1+3.3*log10(n.M) round(Sturges) # tridicich intervalu bude 9 delka.M <- data.M$delka min(delka.M) max(delka.M) 199-164 # rozsah hodnot je 35, nejblizsi vyssi cele cislo je 36; tridici intervaly budou# # (163;167> (167;171> (171;175> (175;179> (179;183> (183;187> (187;191> (191;195> (195;199> hranice <- seq(163, 199, by=4) # Priprava hrafu na vykresleni histogramu hist(delka.M, breaks=hranice, ylim=c(0,52), main='Histogram', xlab='Delka lebky', ylab='Pocetnosti', col='white', border='white', axes=F) # vodorovne referencni cary abline(h=seq(0,60, by=10), col='grey80', lty=2) # vkresleni histogramu do stavajiciho grafu; dulezity argument add=T hist(delka.M, breaks=hranice, col='blue', border='darkblue', density=20, add=T ) axis(1, at=seq(165, 197, by=4)) # osa X !!! dulezita konvence: u histogramu musi byt na ose x zaznamenany hodnoty stredu tridicich intervalu axis(2, at=seq(0, 50, by=10)) # osa y box(bty='l') # Ramecek grafu ve tvaru L.