Prvou veľmi podstatnou súčasťou každého štatistického modelovania je obhliadka dát. Ešte pred tým ako začnete rozmýšlať aký model zostaviť, musíte dáta najprv videť. Často krát je práve počiatočná obhliatka dát a ich vizualizácia podceňovaný krok. V tomto cvičení sa zameriame na niekoľko základných krokov nutných pred analýzov dát (modelovaním). Postupne počas semestra si osvojíte náročnejšie triky preto cvičenie berte ako nutný základ.
library(faraway)
library(car)
library(ggplot2)
My budeme väčsinou pracovať s dátami implemenotovanými priamo z knižnice, prvou takouto knižnicou je bude pre vás faraway
. Okrem datasetov obsahuje aj množstvo funkcií. Spolu s ňou budeme vždy volať aj car
obsahujúca základné funckie a ggplot2
(grammar and graphics) na vytváranie profesionálnych obrázkov.
Na tomto datasete si postupne predstavíme základný postup “ohmatania dát” z knižnice. (neskôr dostanete aj dáta zo Slovenska)
# načítame dataset z knižnice
data(teengamb)
# ak nacitavate data z kniznice vzdy mate poruke popis
help(teengamb)
# alebo ?teengamb
# v praxi je zaužívané zálohovanie si raw dát
teen = teengamb
# dalej už budeme používať len teen
help
o datasete?Poznámka: Presne tento druh informácií a ešte viacej sa bežne dozviete od odborníka na danú problematiku.
Ak help
neobsahuje niektoré dôležité informácie viete si ich zistiť pomocou príkazov
# koľko má riadkov (dat) a koľko stlpcov (premenných)
dim(teen)
## [1] 47 5
# počiatocne nakuknutie, zobrazí len prvých 6
head(teen)
## sex status income verbal gamble
## 1 1 51 2.00 8 0.0
## 2 1 28 2.50 8 0.0
## 3 1 37 2.00 6 0.0
## 4 1 28 7.00 4 7.3
## 5 1 65 2.00 8 19.6
## 6 1 61 3.47 6 0.1
# ak má "veľa" regresorov
names(teen)
## [1] "sex" "status" "income" "verbal" "gamble"
# popisná štatistika
summary(teengamb)
## sex status income verbal
## Min. :0.0000 Min. :18.00 Min. : 0.600 Min. : 1.00
## 1st Qu.:0.0000 1st Qu.:28.00 1st Qu.: 2.000 1st Qu.: 6.00
## Median :0.0000 Median :43.00 Median : 3.250 Median : 7.00
## Mean :0.4043 Mean :45.23 Mean : 4.642 Mean : 6.66
## 3rd Qu.:1.0000 3rd Qu.:61.50 3rd Qu.: 6.210 3rd Qu.: 8.00
## Max. :1.0000 Max. :75.00 Max. :15.000 Max. :10.00
## gamble
## Min. : 0.0
## 1st Qu.: 1.1
## Median : 6.0
## Mean : 19.3
## 3rd Qu.: 19.4
## Max. :156.0
Tento krok sa vykonáva iba ak je potrebný. V tomto prípade nie je potrebné nič opravovať (t.j. prepisovať chybné údaje na základe externej informácie), ale je potrebné pretransformovať premennú pohlavie na faktor.
# zemníme formát na faktor
teen[,1]=as.factor(teen[,1])
# ako to zmenilo popisnu statistiku?
summary(teen)
## sex status income verbal gamble
## 0:28 Min. :18.00 Min. : 0.600 Min. : 1.00 Min. : 0.0
## 1:19 1st Qu.:28.00 1st Qu.: 2.000 1st Qu.: 6.00 1st Qu.: 1.1
## Median :43.00 Median : 3.250 Median : 7.00 Median : 6.0
## Mean :45.23 Mean : 4.642 Mean : 6.66 Mean : 19.3
## 3rd Qu.:61.50 3rd Qu.: 6.210 3rd Qu.: 8.00 3rd Qu.: 19.4
## Max. :75.00 Max. :15.000 Max. :10.00 Max. :156.0
Pomocou príkazu str()
zistíme akého formátu sú regresory v datasete. O niečo všeobecnejší príkaz je class()
.
Prostredie R vám ponúka množstvo knižníc zaoberajúcich sa vizualizáciou, my sa zameriame na základné vykreslovanie a popri tom si budeme ukazovať ako vytvárať profesionalnejšie obárzky pomocnou grammar and graphics knižníc. Podstatné je čo nám obrázky hovoria a až druhoradý je vzhľad!
# krížový obázok
pairs(teen)
# odozva vs. prediktor
plot(gamble ~ income, data=teen)
# alebo
# plot(x = teen$income, y = teen$gamble)
# obrázok hustoty
plot(density(teen$gamble))
Podobne si vykreslite aj gamble vs. status a verbal. Pokúste sa interpretovať vzťah medzi odozvou a jednotlivými preditkromi.
Užitočným krokom je niektoré premenné vložiť do obrázka tak ako ste to videli v úvode.
# ofarbením
plot(gamble ~ income, data=teen, col = sex)
Teraz nám obárzok prezradil o informáciu navyše. Zopakujte tento krok aj na obrázokch gamble vs. status a verbal.
ggplot(data=teen, mapping = aes(x=income, y=gamble, col=sex, size=status)) +
geom_point(alpha=0.6)
Takýto obrázok sa už hodí aj na prezentáciu. Praxou sa naučite vytvárat takéto profesionalnejšie obrázky. Vykreslime si ešte graf hustoty.
ggplot(data=teen, mapping = aes(x=gamble)) +
geom_density(fill="red", alpha = 0.4)
Znova to vypadá o kus lepšie ako pred tým. Už treba len trenovať, štatistika je ako remeslo, proste to chce prax… Dobrý cheatscheet najtede tu.
Analogicky obhliadnite dáta uswages
, pričom v hrubom dodržujte kroky: