Vizualizace korelace v R
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
Autor článku: Lenka Fiřtová
V tomto článku je popsán způsob, jak v R vizualizovat spočítané korelační matice.
O tom, co je to korelace, pojednává tento článek, o tom, jak korelační koeficienty a korelační matice spočítat, pak tento článek.
Úvodní výpočty
V tomto článku budeme pracovat s balíčkem corrplot, který umožňuje vytvářet hezká a přehledná zobrazení korelačních matic. Balíček nainstalujeme příkazem install.packages (název balíčku jen nutné psát do uvozovek). Následně příkazem library nainstalovaný balíček načteme do R (příkaz library musíme při práci s jakýmkoli doplňujícím balíčkem použít při každém spuštění R znovu, zatímco instalaci balíčku provádíme pouze jednou).
> install.packages("corrplot") > library(corrplot)
Pracovat budeme s datasetem mtcars, který obsahuje informace o deseti vlastnostech 32 automobilů. Pokud by nás zajímalo, o jaké vlastnosti se jedná, následujícím příkazem si otevřeme nápovědu resp. popis dat:
> ?mtcars
Podívejme se na záhlaví dat:
> head(mtcars) mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Balíček corrplot pro své grafy vyžaduje spočítanou korelační matici. Spočítáme tedy korelační matici proměnných v datasetu mtcars a uložíme ji do proměnné k.
> k = cor(mtcars)
Pro vizualizaci korelace slouží funkce corrplot. Má pouze jeden povinný argument – vstupní korelační matici – a dále řadu nepovinných argumentů, z nichž zmíníme method a type.
Funkce corrplot – argument method
Argument method slouží k výběru, jak má graf vypadat. Na výběr jsou následující možnosti: "circle" (defaultní možnost),"square", "ellipse", "number", "pie", "shade", "color".
Například volba color vrátí graf, kde červeně jsou značeny záporné korelace, modře kladné, silnější korelace je znázorněna intenzivnější barvou.
> corrplot(k, method = "color")
Z obrázku můžeme odhadnout, že například korelace mezi proměnnou mpg a hp bude okolo – 0,7, mezi proměnnou mpg a drat okolo 0,7. Přesné hodnoty korelace však nezjistíme – graf slouží spíše jako přehled toho, které proměnné spolu korelují silněji a které slaběji.
O něco lépe může pomoci korelace odhadnout volba circle. Ta vrátí graf, který kromě barvy zobrazuje i různě velké kruhy v závislosti na síle korelace.
> corrplot(k, method = "circle")
Volba pie vyvolá graf, kde sílu korelace znázorňuje kormě barvy také podíl vybarveného kruhu.
> corrplot(k, method = "pie")
Například podíváme-li se na korelaci mezi mpg a hp (první řádek a čtvrtý sloupec), vidíme, že jsou vybarveny více než tři čtvrtiny kruhu, takže korelace bude silnější než –0,75. Naopak podíváme-li se na korelaci mezi mpg a drat (první řádek a pátý sloupec), vidíme, že jsou vybarveny méně než tři čtvrtinu kruhu, takže korelace bude slabší než 0,75.
Z nabízených metod nám nejpřesnější hodnoty zobrazí metoda number, která vypíše přímo hodnoty jednotlivých korelačních koeficientů. Ukáže, že korelace mezi mpg a hp je –0,78, mezi mpg a drat 0,68.
> corrplot(k, method = "number")
Funkce corrplot – argument type
Každá korelační matice je symetrická – nad diagonálou a pod diagonálou jsou na odpovídajících pozicích stejná čísla. Je tedy možné zobrazit pouze čísla nad diagonálou („horní trojúhelníková matice“) nebo pod diagonálou („dolní trojúhelníková matice“) bez ztráty informace.
K tomu slouží argument type. Ukážeme si jeho použití na matici v podobě circle.
> corrplot(k, method = "circle", type = "upper")
> corrplot(k, method = "circle", type = "lower")
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.