##### Skript pro 3. cvičení ##### ----------------------------------- ## ## téma: míry polohy, zejména průměr, vážený průměr ## medián, kvartily, percentily ## míry variability ## histogram ## ## zkopírovat do pracovního prostoru soubor V:/zvara/statistitka/cvic03.R ## spustit R ## přejít do adresáře J:/statistika ## otevřít jako skript soubor cvic03.R (tj. tento soubor) ## rm(list=ls()) # vyčistit pracovní prostor setwd("J:/statistika") ## ## Otevřít databázi s údaji o matkách kolem porodu: load("./data/Kojeni.RData") ## pokud je soubor (zde Kojeni.RData) v adresáři nazvaném data ## umístěném v pracovním adresáři, stačí jednodušší příkaz: data(Kojeni) ## ls() ## představu o datech dostaneme pomocí některé z funkcí names(Kojeni) head(Kojeni) summary(Kojeni) ## o velikosti databáze poví: dim(Kojeni) nrow(Kojeni) # počet řádků ncol(Kojeni) # počet sloupců ## ## zpřístupníme jednotlivé sloupce databáze: attach(Kojeni) ## ## Spočítejte BMI novorozenců ve 24. týdnu věku (BMI = (hmotnost/1000)/(delka/100)^2) ## Nakreslete histogram BMI hist(BMI) hist(BMI,labels=TRUE) ## Co je tu zobrazeno? print(hist(BMI)) hist(BMI,freq=TRUE) ## Změníme popis svislé osy hist(BMI,freq=FALSE) print(hist(BMI,freq=FALSE)) sum(hist(BMI,freq=FALSE)$density) hist(BMI,breaks=5) hist(BMI,breaks=5,freq=FALSE) print(hist(BMI,breaks=5,freq=FALSE)) sum(hist(BMI,breaks=5,freq=FALSE)$density) ## Celková plocha obdélníků je rovna 1 ## ## Nakreslete krabicový diagram BMI boxplot(BMI) boxplot(BMI,horizontal=TRUE) ## Slovy popište informace zobrazené ## na krabicovém diagramu ## ## Určete minimum a maximum BMI range(BMI) ## Jaká je průměrná hodnota BMI? mean(BMI) ## jaký je medián BMI? median(BMI) ## Vysvětlete, co je medián, použijte k tomu round(sort(BMI),3) median(BMI) ## Kde hledat dolní a horní kvartil? quantile(BMI,probs=c(1/4,3/4)) ## ## Nakreslete krabicový diagram BMI boxplot(BMI,horizontal=TRUE) ## Proč jsou na grafu dvě "kolečka"? (Q1 = fivenum(BMI)[2]) (Q3 = fivenum(BMI)[4]) Q3+1.5*(Q3-Q1) Q1-1.5*(Q3-Q1) range(BMI) ## ## Porovnejte průměrný věk otce s průměrným věkem matky c(mean(vekO),mean(vekM)) c("otcové"=mean(vekO),"maminky"=mean(vekM)) ## Porovnejte mediány stejných veličin c(median(vekO),median(vekM)) ## Nakreslete krabicové diagramy stejných veličin boxplot(vekM,horizontal=T) sort(vekM) ## ## Určete modus věku otce table(vekO) which.max(table(vekO)) table(vekO)[which.max(table(vekO))] table(vekO)[10] ## Určete modus věku matky table(vekM)[which.max(table(vekM))] table(vekM) ## ## míry variability ## ## Jaké je rozpětí věku otce? max(vekO)-min(vekO) ## Spočítejte rozpětí věku matky. Které rozpětí je větší? max(vekM)-min(vekM) ## ## Spočítejte směrodatnou odchylku věku otce sd(vekO) ## Spočítejte rozptyl věku otce var(vekO) sum((vekO-mean(vekO))^2)/(length(vekO)-1) sqrt(sum((vekO-mean(vekO))^2)/(length(vekO)-1)) ## Je variabilita věku matky větší než variabilita věku otce? sd(vekM) ## ## Spočítej z-skóry věku otce (zOtec = (vekO-mean(vekO))/sd(vekO)) ## Ověř vlastnosti z-skórů věku otce mean(zOtec) sd(zOtec) boxplot(zOtec,horizontal=TRUE) ## Je graf ve sporu s tvrzením o vlastnostech ## z-skórů o nulovém průměru? abline(v=0) boxplot(vekO,horizontal=TRUE) ## Listujte v paměti grafů a porovnejte poslední ## dva krabicové diagramy ## Do grafu věku (nikoliv z-skórů) vložte ještě abline(v=mean(vekO)) ## histogram ale závisí na použitém třídění!!!! hist(BMI) hist(BMI*pi) hist(scale(BMI)) ## ## střední odchylka ## mean(abs(BMI-median(BMI))) sd(BMI) ## ## střední diference ## x = c(5,2,7,4) names(x) = x x outer(x,x,"-") abs(outer(x,x,"-")) mean(abs(outer(x,x,"-"))) Delta <- mean(abs(outer(x,x,"-"))) Delta (Gini = Delta/(2*mean(x))) ##