setwd('') # 1 data <- read.table('newborns.txt', header=TRUE) x<-na.omit(data$weight.C) # 1a) mu<-mean(x) # stredni hodnotu odhadneme pomoci prumeru sigma_squared<-var(x) # rozptyl odhadneme pomoci vyberoveho rozptylu sigma<-sqrt(sigma_squared) # a tedy smerodatnou odchylku pomoci vyberove smerodatne odchylky # 1b) hist(x, prob = T, density = 30, col = 'blue', xlab = 'porodni hmotnost',ylab = 'hustota', main = '') lines(density(x), col = 'blue', lwd = 2) curve(dnorm(x,mu,sigma),add=T,col='red',lwd=2) legend('topleft',c('normalni rozdeleni','jadrovy odhad'),col=c('red','blue'),lwd=2) plot(ecdf(x),col = 'blue', xlab = 'porodni hmotnost',ylab = 'distribucni funkce', main = '',verticals = TRUE,do.points = FALSE,lwd=2) curve(pnorm(x,mu,sigma),add=T,col='red',lwd=2) legend('topleft',c('normalni rozdeleni','empiricka distribucni funkce'),col=c('red','blue'),lwd=2) ########################################################### # 4 ########################################################### data <- read.table('head.txt', header=TRUE) x<-data$head.L y<-data$head.W plot(x,y,xlab='delka hlavy',ylab='sirka hlavy',asp=1) library(mvtnorm) 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 # vytvorime si pomocnou mrizku pro vypocet hustoty xx<-seq(165,215,by=0.5) yy<-seq(130,170,by=0.5) # a v kazdem jejim bode spocitame hodnotu odhadnute hustoty f<-matrix(0, nrow=length(xx), ncol=length(yy)) for(i in 1:length(xx)){ for(j in 1:length(yy)){ f[i,j] <- dmvnorm(c(xx[i],yy[j]),mu,sigma) }} contour(xx, yy, f, asp = T, drawlabels = F, nlevels = 11, xlab='delka hlavy',ylab='sirka hlavy',col='red') points(x,y) # na zaver jeden 3D graf library(GA) persp3D(xx, yy, f, xlab = 'delka hlavy',ylab = 'sirka hlavy', zlab = 'f(x, y)') # muzeme jej trochu vylepsit persp3D(xx, yy, f, phi = 30, theta = 5, ticktype = 'simple',xlab = 'delka hlavy', ylab = 'sirka hlavy', zlab = 'f(x, y)', col.palette = terrain.colors, border = 'black')