V tejto úlohe budeme pracovať s dátovým súborom carc
z
knižnice SMS data
. Súbor obsahuje 74 pozorovaní pre 13
premenných, ktorých základné popisné charakteristiky môžeme vidieť na
výstupe príkazu summary(data)
nižšie.
data(carc, package = "SMSdata")
data<-carc
dim(data)
## [1] 74 13
head(data)
## P M R78 R77 H R Tr W L T D G C
## AMC_Concord 4099 22 3 2 2.5 27.5 11 2930 186 40 121 3.58 US
## AMC_Pacer 4749 17 3 1 3.0 25.5 11 3350 173 40 258 2.53 US
## AMC_Spirit 3799 22 . . 3.0 18.5 12 2640 168 35 121 3.08 US
## Audi_5000 9690 17 5 2 3.0 27.0 15 2830 189 37 131 3.20 Europe
## Audi_Fox 6295 23 3 3 2.5 28.0 11 2070 174 36 97 3.70 Europe
## BMW_320i 9735 25 4 4 2.5 26.0 12 2650 177 34 121 3.64 Europe
summary(data)
## P M R78 R77 H R
## Min. : 3291 Min. :12.00 .: 5 .: 8 Min. :1.500 Min. :18.50
## 1st Qu.: 4319 1st Qu.:18.00 1: 2 1: 3 1st Qu.:2.500 1st Qu.:25.00
## Median : 5092 Median :20.00 2: 8 2:11 Median :3.000 Median :27.00
## Mean : 6192 Mean :21.30 3:30 3:27 Mean :2.986 Mean :26.82
## 3rd Qu.: 6332 3rd Qu.:24.75 4:18 4:20 3rd Qu.:3.500 3rd Qu.:29.00
## Max. :15906 Max. :41.00 5:11 5: 5 Max. :5.000 Max. :37.50
## Tr W L T D
## Min. : 5.00 Min. :1760 Min. :142.0 Min. :32.0 Min. : 79.0
## 1st Qu.:10.25 1st Qu.:2250 1st Qu.:170.0 1st Qu.:36.0 1st Qu.:119.0
## Median :14.00 Median :3175 Median :192.5 Median :40.0 Median :196.0
## Mean :13.74 Mean :3011 Mean :188.1 Mean :39.8 Mean :197.3
## 3rd Qu.:16.00 3rd Qu.:3652 3rd Qu.:203.8 3rd Qu.:43.0 3rd Qu.:245.2
## Max. :23.00 Max. :4840 Max. :233.0 Max. :51.0 Max. :425.0
## G C
## Min. :2.190 US :52
## 1st Qu.:2.730 Japan :11
## Median :2.955 Europe:11
## Mean :3.018
## 3rd Qu.:3.353
## Max. :3.890
Na obrázku matice korelácií môžeme vidieť, ako sú niektoré premenné navzájom korelované. Ako by sa dalo aj predpokladať, medzi opravami vozidiel v rokoch 1977 a 1978 pozorujeme relatívne vysokú koreláciu. Tak isto je zmysluplná vysoká záporná korelácia medzi dojazdom vozidla a jeho hmotnosťou, keďže by sme prirodzene očakávali, že ťažšie vozidlá budú mať nižší dojazd. Naopak medzi cenou vozidla a opravami vozidla môžeme predpokladať nekorelovanosť, keďže príslušná odhadnutá korelácia je takmer nulová.
library(psych)
#zavislost miesta vyroby, stavu opravy, ceny, dojazdu a hmotnosti
pairs.panels(data[,c("R78","R77","C","P","M","W")],
method = "pearson", # correlation method
hist.col = "#00AFBB",
density = TRUE, # show density plots
ellipses =FALSE # show correlation ellipses
)
Na základe krabicových grafov sa zdá, že by sme mohli predpokladať pre všetky tri krajiny normálne rozdelenie dát. Treba však podotknúť, že dát pre Japonsko a Európu je relatívne málo, a tak treba s predpokladom normality narábať opatrne. Vhodné by bolo tento predpoklad graficky overiť ešte napríklad QQ-grafom. Z obrázku môžeme ešte pozorovať:
#rozdelenie spotreby podla krajiny vyroby
boxplot(data$M~data$C, ylab="Dojazd [míle na galón]",xlab="Obchodné sídlo",cex.lab=1.5,cex.main=1.5, xaxt="na",cex.axis=1.5,main="Boxplot",col=c("red","green","blue"))
axis(1, at = seq(1,3, by = 1), labels= c("US","Japonsko","EU"),cex.axis=1.5)
Výrazný nepomer dát pre jednotlivé krajiny môžeme vidieť aj na nasledujúcom obrázku, ktorý znázorňuje dojazd jednotlivých áut rozdelených podľa krajiny sídla firmy. Vidíme, že americké autá majú výrazne nižší priemerný dojazd, než európske alebo japonské autá. Naopak najvyšší priemerný dojazd majú japonské autá.
par(mar = c(5, 5, 5, 4) + 0.4)
x <- data[order(data$M),] # sort by mpg
x$C <- factor(x$C) # it must be a factor
x$color[x$C=="US"] <- "red"
x$color[x$C=="Japan"] <- "blue"
x$color[x$C=="Europe"] <- "darkgreen"
dotchart(x$M,labels=row.names(x),cex=0.3,groups= x$C,
main="Dojazd jednotlivých áut podľa sídla firmy",cex.main=2,
xlab="Dojazd [míle na galón]", gcolor="black", color=x$color,cex.lab=2, cex.axis=2)
legend("topright",c("US","Japonsko","EU"),cex=0.8,col=c("red","blue","darkgreen"),pch=21)
US <- mean(data$M[data$C == "US"])
Jap <- mean(data$M[data$C == "Japan"])
EU <- mean(data$M[data$C == "Europe"])
lines(c(EU, EU), c(1, 11), col = "darkgreen", lwd = 2)
lines(c(Jap, Jap), c(14, 24), col = "blue", lwd = 2)
lines(c(US, US), c(27, 78), col = "red", lwd = 2)