setwd(' ') # 1 data <- read.table('head.txt', header=TRUE) data$sex=as.factor(data$sex) data$sexor=as.factor(data$sexor) data$obra=as.factor(data$obra) summary(data) #1a) sum(is.na(data)) # pocet chybejicich hodnot #1b) table(data$sexor,useNA='ifany') prop.table(table(data$sexor,useNA='ifany')) #1c) table(data$sexor,data$sex,useNA='ifany') addmargins(table(data$sexor,data$sex,useNA='ifany')) prop.table(table(data$sexor,data$sex,useNA='ifany'),margin=2) mosaicplot(table(data$sex,data$sexor,useNA='ifany')) #1d) data2 <- na.omit(data) # vynechame zaznamy (radky) s NA hodnotou summary(data2) ################################################################### # 2 x<-data2$body.H #2a) boxplot(x) hist(x) library(lattice) histogram(x) #2b) mean(x) #2c) min(x) #2d) sum(x>2000) #2e) quantile(x,0.05) quantile(x,0.9) ########################################################### # 3 plot(data2$head.L,data2$head.W,xlab='delka hlavy',ylab='sirka hlavy') cor(data2$head.L,data2$head.W) ########################################################### # 4 boxplot(data2$bigo.W~data2$sex,col=2:3,xlab='pohlavi',ylab='sirka dolni celisti') by(data2$bigo.W,data2$sex,summary) by(data2$bigo.W,data2$sex,sd) ############################################################# # 5 prop.table(table(data2$obra,data2$sex),margin=2) mosaicplot(table(data2$sex,data2$obra),col=2:3,xlab='pohlavi', ylab='starsi bratr',main='Mozaikovy graf') library(confintr) cramersv(table(data2$sex,data2$obra)) ####################################################################### ####################################################################### # 6 xx<-read.table("chlapci.txt") x<-xx$V1 # data ulozime do vektoru x # prozkoumame data table(x) barplot(table(x),xlab = 'pocet chlapcu', ylab = 'absolutni cetnost',col=3,density=50) plot(table(x),xlab = 'pocet chlapcu', ylab = 'absolutni cetnost') #6ab) # zkusime binomicky model; odhadneme jeho parametr p odpovidajici pravdepodobnosti narozeni chlapce n<-length(x) p<-sum(x)/(12*n) # pocet narozenych chlapcu/pocet narozenych deti p # odhadnuta pravdepodobnost narozeni chlapce #6c) # muzeme porovnat relativni cetnosti a odhadnute pravdepodobnosti binomickym modelem prop.table(table(x)) dbinom(0:12,12,p) # toto neni prilis prehledne, proto se spise porovnavaji ocekavane o pozorovane cetnosti table(x) # pozorovane cetnosti round(n*dbinom(0:12,12,p)) # ocekavane cetnosti # ulozme tyto hodnoty do vektoru a vykresleme prislusne grafy poz_cetnosti<-as.numeric(table(x)) oce_cetnosti<-round(n*dbinom(0:12,12,p)) plot(0:12, poz_cetnosti, type = 'h', col = 'red', xlab = 'Pocet chlapcu', ylab = 'Cetnosti') points(0:12, poz_cetnosti, pch = 21, col = 'darkred', bg = 'red') lines (0:12, oce_cetnosti, type = 'h', lty = 2, col = 'black') points(0:12, oce_cetnosti, pch = 21, col = 'black', bg = 'black') legend('topright', pch = c(21, 21), col = c('darkred', 'black'), pt.bg = c('red', 'black'), legend = c('pozorovane', 'ocekavane'), bty = 'n') #6d) # pro popis modelu vykreslime jeste graf odhadnute pravdepodobnostni funkce plot(0:12,dbinom(0:12,12,p),type='h',xlab = 'Pocet chlapcu', ylab = 'Pravdepodobnostni funkce',main='Binomicke rozdeleni') points(0:12,dbinom(0:12,12,p), col = 'red', pch = 19) # a jeste graf odhadnute distribucni funkce plot(0:12, pbinom(0:12,12,p), type = 's', main = 'Binomicke rozdeleni', xlab = "Pocet chlapcu", ylab = 'Distribucni funkce', col = 'blue') # komu se nelibi, muzeme jej malinko vylepsit plot(0:12, pbinom(0:12,12,p), type = 'n', main = 'Binomicke rozdeleni', xlab = "Pocet chlapcu", ylab = 'Distribucni funkce', col = 'blue') segments (-1:12, c(0,pbinom(0:12,12,p)) , 0:13, c(0,pbinom(0:12,12,p))) points (0:12, c(0,pbinom(0:11,12,p)), pch = 21, col=1) points (0:12, pbinom(0:12,12,p), pch = 19, col=2) #6e) # pocitejme (odhadujme) pravdepodobnosti # pripomenme graf pravdepodobnostni funkce plot(0:12,dbinom(0:12,12,p),type='h',xlab = 'Pocet chlapcu', ylab = 'Pravdepodobnostni funkce',main='Binomicke rozdeleni') points(0:12,dbinom(0:12,12,p), col = 'red', pch = 19) dbinom(9,12,p) # presne 9 chlapcu #6f) sum(dbinom(c(6,7,8),12,p)) #6g) sum(dbinom(0:4,12,p)) pbinom(4,12,p) #6h) sum(dbinom(8:12,12,p)) 1-pbinom(7,12,p)