Zkontrolujeme data a převedeme spotreba.dalnice a spotreba.mesto na numerické hodnoty.
setwd("~/R/R_CALCULATION_SYSTEMS")
auta <- read.csv2("auta04.csv")
str(auta)
dim(auta)
names(auta)
auta$spotreba.dalnice <- as.numeric(as.character(auta$spotreba.dalnice))
auta$spotreba.mesto <- as.numeric(as.character(auta$spotreba.mesto))
Prokažte, že střední spotreba.mesto je >= 12,5 l/100 km.
Nejdříve si vytvoříme histogram s pozorovaným a normalním rozložením.
#auta.spotreba.mesto
auta.spotreba.mesto <- auta$spotreba.mesto
#histogram
auta$spotreba.mesto <- as.numeric(as.character(auta$spotreba.mesto))
x <- auta$spotreba.mesto
x <- na.omit(auta$spotreba.mesto)
SD <- sd(x)
mean.auta <- mean(x)
hist(x, breaks = 20, density = 20, prob=TRUE,
main="",
xlab="Spotreba mesto l/100 km",
ylab="Hustota",
cex.lab=1.2)
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.auta,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
Doplníme krabicovým grafem s aritmetickým průměrem.
#krabicový graf
boxplot(auta.spotreba.mesto, main = "Spotreba mesto", ylab= "Spotreba v l/100 km", notch = T, col = "deepskyblue")
points(mean(x, na.rm = T),col="red",pch=16)
Pro testování jednorozměrné normality provedeme lillie.test z balíčku nortest.
library(nortest)
lillie.test(auta$spotreba.mesto)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: auta$spotreba.mesto
## D = 0.10399, p-value = 1.341e-11
P-hodnota je velmi malá, proto zamítáme H0 o normálním rozložení.
U našeho datasetu se však můžeme spolehnout na histogram a přikročit k druhému kroku a to k testování zadané hypotézy:
Pro testování použijeme jednovýběrový t.test, kde pro alternativní hypotézu nastavíme parametr ‘g’, který udává průměr větší než zadaný parametr mu=12,5.
t.test(auta$spotreba.mesto,alternative="g",mu=12.5,conf.level=0.95)
##
## One Sample t-test
##
## data: auta$spotreba.mesto
## t = -1.56, df = 413, p-value = 0.9402
## alternative hypothesis: true mean is greater than 12.5
## 95 percent confidence interval:
## 12.10057 Inf
## sample estimates:
## mean of x
## 12.3058
Hypotézu H0 se nám nepodařilo zamítnout, proto nemůžeme říci, že střední spotreba.mesto je větší nebo rovno 12,5.
Pokuste se prokázat, že střední hodnota spotreba.dalnice u pickupů je aspoň o 2 l/100 km větší, než u kombiků.
Subset požadované skupiny:
pickup.spotreba.dalnice <- subset(auta, subset = druh=="pickup", select = spotreba.dalnice)
combi.spotreba.dalnice <- subset(auta, subset = druh=="combi", select = spotreba.dalnice)
Vykreslíme histogramy s linií normálního rozložení.
#historgram
pickup <- auta[which(auta$druh == "pickup"),]
combi <- auta[which(auta$druh == "combi"),]
x <- na.omit(pickup$spotreba.dalnice)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.pickup <- mean(x)
hist(x, breaks = 10, density = 20, prob=TRUE,
main="PICKUP", xlab = "Spotreba dalnice l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.pickup,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
x <- na.omit(combi$spotreba.dalnice)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.combi <- mean(x)
hist(x, breaks = 10, density = 20, prob=TRUE,
main="COMBI", xlab = "Spotreba dalnice l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.combi,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
Provedeme testování na normální rozložení pomocí Shapiro-Wilkova testu, který se používá k testování normality u menších datasetů:
#test normality
shapiro.test(pickup.spotreba.dalnice$spotreba.dalnice)
##
## Shapiro-Wilk normality test
##
## data: pickup.spotreba.dalnice$spotreba.dalnice
## W = 0.9183, p-value = 0.06126
shapiro.test(combi.spotreba.dalnice$spotreba.dalnice)
##
## Shapiro-Wilk normality test
##
## data: combi.spotreba.dalnice$spotreba.dalnice
## W = 0.96585, p-value = 0.4533
P-hodnoty jsou větší než 0.05 proto nezamítáme hypotézu o normálním rozložení.
Dále přikročíme k testování na shodu rozptylů pomocí var.testu, jedná se vlastně o F-test, díky němuž se pokusíme zjistit shodnost rozptylů, aby jsme mohli přistoupit k T-testu. Cílem F-testu o rovnosti dvou rozptylů je ověřit, zda dva výběrové soubory pochází z rozdělení se stejným rozptylem, což znamená ověřit, zda oba soubory vykazují přibližně stejný rozptyl sledované náhodné veličiny. Předpokladem tohoto testu je normalita pozorovaných hodnot v obou výběrových souborech.
#test o shodě rozptylů
var.test(x = pickup.spotreba.dalnice$spotreba.dalnice,y= combi.spotreba.dalnice$spotreba.dalnice, alternative = "l", ratio=1, level=0.95)
##
## F test to compare two variances
##
## data: pickup.spotreba.dalnice$spotreba.dalnice and combi.spotreba.dalnice$spotreba.dalnice
## F = 1.6442, num df = 22, denom df = 28, p-value = 0.8932
## alternative hypothesis: true ratio of variances is less than 1
## 95 percent confidence interval:
## 0.00000 3.28348
## sample estimates:
## ratio of variances
## 1.644207
H0 se nám nepodařila zamítnout, proto můžeme uvažovat shodnost rozptylů.
Provedeme T-test na zadanou hypotézu:
t.test(x = pickup.spotreba.dalnice$spotreba.dalnice,y = combi.spotreba.dalnice$spotreba.dalnice, mu=2, alternative = "g",var.equal = T)
##
## Two Sample t-test
##
## data: pickup.spotreba.dalnice$spotreba.dalnice and combi.spotreba.dalnice$spotreba.dalnice
## t = 1.6939, df = 50, p-value = 0.04825
## alternative hypothesis: true difference in means is greater than 2
## 95 percent confidence interval:
## 2.008121 Inf
## sample estimates:
## mean of x mean of y
## 11.426087 8.662069
P-hodnota = 0,04825 (zamítáme H0), proto potvrzujeme hypotézu, že střední hodnota spotreba.mesto je u pickupů alespoň o 2 l na 100 km větší než u combiků.
Pokuste se prokázat, že střední spotreba.dalnice se u kombiků a sportovních aut liší.
Subset požadovaného datasetu:
combi.spotreba.dalnice <- subset(auta, subset = druh=="combi", select = spotreba.dalnice)
sport.spotreba.dalnice <- subset(auta, subset = druh=="sport", select = spotreba.dalnice)
Normalita pomocí histogramů
#historgram
combi <- auta[which(auta$druh == "combi"),]
sport <- auta[which(auta$druh == "sport"),]
x <- na.omit(combi$spotreba.dalnice)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.pickup <- mean(x)
hist(x, breaks = 10, density = 20, prob=TRUE,
main="COMBI", xlab = "Spotreba dalnice l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.pickup,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
x <- na.omit(sport$spotreba.dalnice)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.combi <- mean(x)
hist(x, breaks = 10, density = 20, prob=TRUE,
main="SPORT", xlab = "Spotreba dalnice l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.combi,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
Provedeme testování na normální rozložení pomocí Shapiro-Wilkova testu:
#test normality
shapiro.test(combi.spotreba.dalnice$spotreba.dalnice)
##
## Shapiro-Wilk normality test
##
## data: combi.spotreba.dalnice$spotreba.dalnice
## W = 0.96585, p-value = 0.4533
shapiro.test(sport.spotreba.dalnice$spotreba.dalnice)
##
## Shapiro-Wilk normality test
##
## data: sport.spotreba.dalnice$spotreba.dalnice
## W = 0.96232, p-value = 0.1329
P-hodnoty jsou větší než 0.05 proto nezamítáme hypotézu o normálním rozložení.
Provedeme test na shodu rozptylů:
var.test(combi.spotreba.dalnice$spotreba.dalnice, combi.spotreba.dalnice$spotreba.dalnice, alternative="t",ratio=1,level=0.95)
##
## F test to compare two variances
##
## data: combi.spotreba.dalnice$spotreba.dalnice and combi.spotreba.dalnice$spotreba.dalnice
## F = 1, num df = 28, denom df = 28, p-value = 1
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.4695003 2.1299243
## sample estimates:
## ratio of variances
## 1
Rozptyly nejsou shodné, proto použijeme Welchov test.
Použijeme Welchov test na testování hypotézy, tento test se uživá při rozdílných rozptylech.
t.test(combi.spotreba.dalnice$spotreba.dalnice,sport.spotreba.dalnice$spotreba.dalnice, alternative="t", mu=0, var.equal = F)
##
## Welch Two Sample t-test
##
## data: combi.spotreba.dalnice$spotreba.dalnice and sport.spotreba.dalnice$spotreba.dalnice
## t = -1.8885, df = 44.795, p-value = 0.06545
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -1.17767905 0.03798719
## sample estimates:
## mean of x mean of y
## 8.662069 9.231915
Nezamítáme H0 o nulovém rozdílu mezi středními hodnotami combi a sport.
Pokuste se prokázat, že střední spotreba.mesto je nejvýše o 3,2 l/100 km větší než střední spotreba.dalnice.
Začneme histogramy:
#histogram
x <- na.omit(auta$spotreba.mesto)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.pickup <- mean(x)
hist(x, breaks = 10, density = 20, prob=TRUE,
main="SPOTREBA MESTO", xlab = "Spotreba mesto l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.pickup,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
x <- na.omit(auta$spotreba.dalnice)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.combi <- mean(x)
hist(x, breaks = 10, density = 20, prob=TRUE,
main="SPOTREBA DALNICE", xlab = "Spotreba dalnice l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.combi,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
Dále musíme zjistit, zdali jsou data z normálního rozložení. Použijeme test dvourozměrné normality z balíčku MVN.
Předtím ještě jedno grafické znézornění normality:
library("MVN")
mvn(auta[,c(9,10)], mvnTest = "hz", univariateTest = "Lillie", multivariatePlot = "persp")
Test dvourozměrné normality:
mvn(auta[,c(9,10)], mvnTest = "hz", univariateTest = "Lillie")
## $multivariateNormality
## Test HZ p value MVN
## 1 Henze-Zirkler 11.13824 0 NO
##
## $univariateNormality
## Test Variable Statistic p value
## 1 Lilliefors (Kolmogorov-Smirnov) spotreba.mesto 0.1040 <0.001
## 2 Lilliefors (Kolmogorov-Smirnov) spotreba.dalnice 0.1541 <0.001
## Normality
## 1 NO
## 2 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th Skew
## spotreba.mesto 414 12.305797 2.533029 12.4 3.9 23.5 11.2 13.8 0.1609214
## spotreba.dalnice 414 9.106522 1.916636 9.0 3.6 19.6 8.1 9.8 1.0191385
## Kurtosis
## spotreba.mesto 1.236866
## spotreba.dalnice 2.666038
Zamítáme hypotézu o normálním rozdělení dat, ale jelikož máme větší dataset, řídíme se podle histogramu, proto normální rozložení.
Snažíme se prokázal alternativní hypotézu, že střední spotreba.mesto je nejvýše o 3,2 l/100 km větší než střední spotreba.dalnice.
#test střední hodnoty
t.test(auta$spotreba.mesto, auta$spotreba.dalnice, alternative = "l", mu = 3.2, paired = T, conf.level = 0.95)
##
## Paired t-test
##
## data: auta$spotreba.mesto and auta$spotreba.dalnice
## t = -0.014914, df = 413, p-value = 0.4941
## alternative hypothesis: true difference in means is less than 3.2
## 95 percent confidence interval:
## -Inf 3.279373
## sample estimates:
## mean of the differences
## 3.199275
Nezamítáme H0 o větším rozdílu než 3.2 mezi středními hodnotami spotreba.mesto a spotreba.dalnice, tím pádem zamítáme alternativní hypotézu ze zadání.
Pokuste se prokázat, že medián spotreba.dalnice u off roadů není 12 l/100 km.
Subset požadovaného datasetu:
#off.road.spotreba.dalnice
off.road.spotreba.dalnice <- as.numeric(as.character(auta[which(auta$druh == "off.road"),"spotreba.dalnice"]))
Vizualizace:
#histogram
x <- na.omit(off.road.spotreba.dalnice)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.pickup <- mean(x)
hist(x, breaks = 20, density = 20, prob=TRUE,
main="OFF.ROAD", xlab = "Spotreba dalnice l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.pickup,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
Nyní provedeme test s přesnou p-hodnotou, díky argumentu wilcox.exact se vyhneme shodám.
library(exactRankTests)
Wilcox.exact test se používá pro menší datasety.
wilcox.exact(off.road.spotreba.dalnice,alternative="t",mu = 12,exact=T,correct=T)
##
## Exact Wilcoxon signed rank test
##
## data: off.road.spotreba.dalnice
## V = 656.5, p-value = 0.0844
## alternative hypothesis: true mu is not equal to 12
Nezamítáme H0, že medián spotreba.dalnice u off.road je 12 l/100 km.
Provedeme asymptotický test. Test nepočítá s úplně přesnými hodnotami, posune hodnoty, Test se hodí pro větší datasety.
wilcox.test(off.road.spotreba.dalnice,alternative="t",mu = 12,exact=F,correct=F)
##
## Wilcoxon signed rank test
##
## data: off.road.spotreba.dalnice
## V = 656.5, p-value = 0.08404
## alternative hypothesis: true location is not equal to 12
Nezamítáme H0, že medián spotreba.dalnice u off.road je 12 l/100 km, proto nemůžeme potvrdit hypotézu ze zadání, že medián spotreba.dalnice u off roadů není 12 l/100 km. V našem případě se jedná o mediány, proto použijeme wilcox.test. Wilcox test využijeme, když nemáme normální rozložení, jediným předpokladem testu je simetrie rozdělení náhodné veličiny x.
Pokuste se prokázat, že medián spotreba.dalnice je u kombiků nejvýše 9,5 l/100 km.
Vybereme data:
combi.spotreba.dalnice <- as.numeric(as.character(auta[which(auta$druh == "combi"),"spotreba.dalnice"]))
Histogram:
#histogram
x <- na.omit(combi.spotreba.dalnice)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.pickup <- mean(x)
hist(x, breaks = 20, density = 20, prob=TRUE,
main="COMBI", xlab = "Spotreba dalnice l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.pickup,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
Test s přesnou p-hodnotou, znovu použijeme wilcox.exact z balíčku exactRankTests.
wilcox.exact(combi.spotreba.dalnice,alternative="l",mu = 9.5,exact=T,correct=T)
##
## Exact Wilcoxon signed rank test
##
## data: combi.spotreba.dalnice
## V = 82, p-value = 0.001238
## alternative hypothesis: true mu is less than 9.5
Přijímáme alternativní hypotézu, že medián spotreba.dalnice je menší než 9,5 l/100 km.
Provedeme asymptotický test:
wilcox.test(combi.spotreba.dalnice,alternative="l",mu = 9.5,exact=F,correct=T)
##
## Wilcoxon signed rank test with continuity correction
##
## data: combi.spotreba.dalnice
## V = 82, p-value = 0.001744
## alternative hypothesis: true location is less than 9.5
Zamítáme H0 a přijímáme alternativní hypotézu, že medián spotreba.dalnice u combi je méně než 9,5 l/100 km. V našem případě se jedná o mediány, proto použijeme wilcox.test. Wilcox test využijeme, když nemáme normální rozložení, jediným předpokladem testu je simetrie rozdělení náhodné veličiny x.
Pokuste se prokázat, že medián spotřeby u pickupů je o 2 l/100 km větší než u kombiků.
Data combi a pickup:
combi.spotreba.dalnice <- as.numeric(as.character(auta[which(auta$druh == "combi"),"spotreba.dalnice"]))
pickup.spotreba.dalnice <- as.numeric(as.character(auta[which(auta$druh == "pickup"),"spotreba.dalnice"]))
Histogramy:
#histogram
x <- na.omit(combi.spotreba.dalnice)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.pickup <- mean(x)
hist(x, breaks = 10, density = 20, prob=TRUE,
main="COMBI", xlab = "Spotreba mesto l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.pickup,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
x <- na.omit(pickup.spotreba.dalnice)
x <- as.numeric(as.character(x))
SD <- sd(x)
mean.combi <- mean(x)
hist(x, breaks = 10, density = 20, prob=TRUE,
main="PICKUP", xlab = "Spotreba dalnice l/100 km", ylab = "Hustota")
quant <- seq(min(x),max(x),length=100)
normaldens <- dnorm(quant,mean=mean.combi,sd=SD)
lines(quant,normaldens,col="red",lwd=2)
lines(density(x), col="blue",lwd=2)
legend("topleft",c("normalni","pozorovane"),lty=c(1,1),
col=c("red","blue"),lwd=2)
QQplot ze zadání:
qqplot(combi.spotreba.dalnice, pickup.spotreba.dalnice, col = "blue")
posunuti<-median(combi.spotreba.dalnice,na.rm=T)-median(pickup.spotreba.dalnice,na.rm=T)
abline(a=-posunuti,b=1, col = "red", lwd = 3)
Body se až na extrémy nacházejí na přímce, proto je splněn předpoklad dvouvýběrového Wilcox.testu, obě hustoty se líší pouze posunutím.
Provedeme wilcox.test s alternativní hypotézou, že medián spotřeby u pickupů je o 2 l/100 km větší, proto nastavíme argument ‘g’.
wilcox.test(pickup.spotreba.dalnice,combi.spotreba.dalnice,alternative="g",mu=2,exact=F,correc=T)
##
## Wilcoxon rank sum test with continuity correction
##
## data: pickup.spotreba.dalnice and combi.spotreba.dalnice
## W = 432, p-value = 0.03528
## alternative hypothesis: true location shift is greater than 2
Zamítáme H0, že medián spotřeby u pickupů je menší než 2 l/100 km a přijímáme alternativní hypotézu ze zadání.
Data:
combi.spotreba.dalnice <- as.numeric(auta[which(auta$druh == "combi"), "spotreba.dalnice"])
sport.spotreba.dalnice <- as.numeric(auta[which(auta$druh == "sport"), "spotreba.dalnice"])
QQplot:
qqplot(combi.spotreba.dalnice, sport.spotreba.dalnice, col = "blue")
posunuti <- median(combi.spotreba.dalnice,na.rm=T)-median(sport.spotreba.dalnice,na.rm=T)
abline(a=-posunuti,b=1, col = "red", lwd = 3)
Body neleží na linii, proto není vhodné použít Wilcox.test.
KS.test:
ks.test(combi.spotreba.dalnice, sport.spotreba.dalnice, alternative = "g")
##
## Two-sample Kolmogorov-Smirnov test
##
## data: combi.spotreba.dalnice and sport.spotreba.dalnice
## D^+ = 0.26779, p-value = 0.07637
## alternative hypothesis: the CDF of x lies above that of y
Vytvořte graf absolutních a relativních četností a koláčový graf pro proměnnou druh.
Absolutní četnosti:
druh <- auta$druh
library(colorspace)
jmena.urovni <- c(levels(druh))
barplot(table(druh), names.arg = jmena.urovni, col=rainbow_hcl(6), space = 1,
xlab = "DRUH AUTA", ylab = "ABSOLUTNI POCET", main = "AUTA",
legend.text = c(levels(druh)))
Relativní četnosti:
rel.auta <- prop.table(table(druh))
barplot(t(rel.auta), col=rainbow_hcl(6), beside = T,
xlab = "DRUH AUTA", ylab = "RELATIVNI POCET", main = "AUTA",
legend.text = c(levels(druh)))
Koláčový graf:
pct <- round(table(druh)/sum(table(druh))*100)
lpct <- paste(c(levels(druh)), pct)
plpct <- paste(lpct,"%", sep = "")
pie(table(druh), col=rainbow_hcl(6), main = "AUTA", labels = plpct)
Vytvořte graf podmíněných relativních četností a koláčový graf pro druh/nahon a nahon/druh.
Relativní četnosti druh/nahon:
druh <- auta$druh
nahon <- auta$nahon
rel.auta <- prop.table(table(druh,nahon))
barplot(t(rel.auta), col=rainbow_hcl(3), beside = T,
xlab = "DRUH AUTA", ylab = "RELATIVNI CETNOST", main = "AUTA",
legend.text = c(levels(nahon)))
Relativní četnosti nahon/druh:
rel.auta <- prop.table(table(nahon,druh))
barplot(t(rel.auta), col=rainbow_hcl(6), beside = T,
xlab = "NAHON", ylab = "RELATIVNI CETNOST", main = "AUTA",
legend.text = c(levels(druh)))
Koláčové grafy pro druh/nahon:
par(mfcol=c(2,3))
#koláčový graf COMBI
combi <- auta[which(auta$druh == "combi"),"nahon"]
f.combi <- as.factor(as.character(combi))
pie(table(f.combi), col=rainbow_hcl(4), main = "COMBI NAHON", labels = levels(f.combi))
#koláčový graf MINIVAN
minivan <- auta[which(auta$druh == "minivan"),"nahon"]
f.minivan <- as.factor(as.character(minivan))
pie(table(f.minivan), col=rainbow_hcl(4), main = "MINIVAN NAHON", labels = levels(f.minivan))
#koláčový graf OFF.ROAD
off.road <- auta[which(auta$druh == "off.road"),"nahon"]
f.off.road <- as.factor(as.character(off.road))
pie(table(f.off.road), col=rainbow_hcl(4), main = "OFF.ROAD NAHON", labels = levels(f.off.road))
#koláčový graf OSOBNI
osobni <- auta[which(auta$druh == "osobni"),"nahon"]
f.osobni <- as.factor(as.character(osobni))
pie(table(f.osobni), col=rainbow_hcl(4), main = "OSOBNI NAHON", labels = levels(f.osobni))
#koláčový graf PICKUP
pickup <- auta[which(auta$druh == "pickup"),"nahon"]
f.pickup <- as.factor(as.character(pickup))
pie(table(f.pickup), col=rainbow_hcl(4), main = "PICKUP NAHON", labels = levels(f.pickup))
#koláčový graf PICKUP
sport <- auta[which(auta$druh == "sport"),"nahon"]
f.sport <- as.factor(as.character(sport))
pie(table(f.sport), col=rainbow_hcl(4), main = "SPORT NAHON", labels = levels(f.sport))
Koláčové grafy pro nahon/druh:
par(mfcol=c(1,3))
#koláčový graf zadní náhon
zadni <- auta[which(auta$nahon == "zadni"),"druh"]
f.zadni <- as.factor(as.character(zadni))
pie(table(f.zadni), col=rainbow_hcl(6), main = "ZADNI NAHON", labels = levels(f.zadni))
#koláčový graf přední náhon
predni <- auta[which(auta$nahon == "predni"),"druh"]
f.predni <- as.factor(as.character(predni))
pie(table(f.predni), col=rainbow_hcl(6), main = "PREDNI NAHON", labels = levels(f.predni))
#koláčový graf náhon na všechny čtyři
v4 <- auta[which(auta$nahon == "ctyrkolka"),"druh"]
f.v4 <- as.factor(as.character(v4))
pie(table(f.v4), col=rainbow_hcl(5), main = "V4 NAHON", labels = levels(f.v4))
par(mfcol=c(1,1))
Bodový graf pro proměnné spotreba.mesto a hmotnost:
library(ggplot2)
auta$spotreba.mesto <- as.numeric(as.character(auta$spotreba.mesto))
w <- ggplot(data=auta, aes(x=hmotnost, y=spotreba.mesto, color=druh, size=konska.sila))
w + geom_point(alpha=0.65) +
ggtitle("AUTA: parametry") +
theme(
# Black backgroud with white lines
panel.background = element_rect(fill = "black", colour = "white",
size = 2, linetype = "solid"),
panel.grid.major = element_line(size = 0.5, linetype = 'solid',
colour = "white"),
panel.grid.minor = element_line(size = 0.25, linetype = 'solid',
colour = "white")) +
theme(
# Title format
plot.title = element_text(colour="Black",size=25, face = "bold", hjust = 0.5)) +
theme(
# Legend title format
legend.title = element_text(colour="Black", size=15, face="bold")) +
theme(
# Legend elements format
legend.text = element_text(colour="Black", size=10, face = "bold")) +
theme(
# Axis text format
axis.text.x = element_text(face="bold", color="Black",
size=10),
axis.text.y = element_text(face="bold", color="Black",
size=10)) +
theme(
# Axis title format
axis.title.x = element_text(colour="Black", size=15, face="bold"),
axis.title.y = element_text(colour="Black", size=15, face="bold"))
Kategorizovaný histogram(y):
auta$spotreba.mesto <- as.numeric(as.character(auta$spotreba.mesto))
y <- ggplot(data=auta, aes(x=spotreba.mesto))
y + geom_histogram(binwidth=1, aes(fill = druh), alpha=0.8, color="Black") +
ggtitle("AUTA: spotřeba") +
ylab("pocet") +
theme(
# Black backgroud with white lines
panel.background = element_rect(fill = "black", colour = "white",
size = 2, linetype = "solid"),
panel.grid.major = element_line(size = 0.5, linetype = 'solid',
colour = "white"),
panel.grid.minor = element_line(size = 0.25, linetype = 'solid',
colour = "white")) +
theme(
# Title format
plot.title = element_text(colour="Black",size=20, face = "bold", hjust = 0.5)) +
theme(
# Legend title format
legend.title = element_text(colour="Black", size=15, face="bold")) +
theme(
# Legend elements format
legend.text = element_text(colour="Black", size=10, face = "bold")) +
theme(
# Axis text format
axis.text.x = element_text(face="bold", color="Black",
size=10),
axis.text.y = element_text(face="bold", color="Black",
size=10)) +
theme(
# Axis title format
axis.title.x = element_text(colour="Black", size=15, face="bold"),
axis.title.y = element_text(colour="Black", size=15, face="bold"))
Krabicové grafy s proměnnou spotreba.mesto v závislosti na druhu:
auta$spotreba.mesto <- as.numeric(as.character(auta$spotreba.mesto))
w <- ggplot(data=auta, aes(x=druh, y=spotreba.mesto))
w + geom_boxplot() +
geom_boxplot(size=1.6, alpha=1, outlier.fill = "black", outlier.size = 3, outlier.alpha= 1) +
theme(axis.text.x = element_text(face="bold", color="Black",
size=10),
axis.text.y = element_text(face="bold", color="Black",
size=10)) +
ggtitle("AUTA: spotřeba") +
ylab("spotreba.mesto l/100km") +
xlab("druh") +
# Mean
stat_summary(fun.y="mean", geom="point", shape=16, size=3, color = "red") +
theme(legend.position = "none") +
scale_x_discrete(limits=c("combi", "minivan", "off.road", "osobni", "pickup","sport")) +
theme(
# White backgroud
panel.background = element_rect(fill = "white", colour = "white",
size = 2, linetype = "solid"),
panel.grid.major = element_line(size = 0.5, linetype = 'solid',
colour = "black"),
panel.grid.minor = element_line(size = 0.25, linetype = 'solid',
colour = "black")) +
theme(
# Title format
plot.title = element_text(colour="Black",size=25, face = "bold", hjust = 0.5)) +
theme(
# Axis title format
axis.title.x = element_text(colour="Black", size=15, face="bold"),
axis.title.y = element_text(colour="Black", size=15, face="bold")) +
theme(
# Axis text format
axis.text.x = element_text(face="bold", color="Black",
size=10),
axis.text.y = element_text(face="bold", color="Black",
size=10))