Jazyk R je programovací jazyk pro statistickou analýzu dat. Tento blog se ale týká Excelu, proto nás v souvislosti s jazykem R bude zajímat jen doplněk, který umožňuje docela šikovně využívat R pro analýzu dat uložených v Excelu. Doplněk se jmenuje RExcel (což je vzhledem k názvům obou zainteresovaných programů poměrně logický název...). Jde o to, že R je v některých oblastech silnější analytický nástroj než Excel, ale Excel zase umožňuje pohodlnější práci s daty. Tak proč si nevzít to lepší z obou programů.
Použití si ukážeme na modelovém příkladu základní lineární regresní analýzy. Tu samozřejmě umíme udělat přímo v Excelu, ale teď si chceme ukázat jen samotné propojení Excelu s R.
Tím se stanou dvě věci. Zaprvé přibude nová záložka Add-inn s jediným tlačítkem RExcel, zadruhé přibude několik položek do menu pravého tlačítka (což se ale projevuje jen při připojeném R, viz dále).

Teď jsou tedy oba sloupce uložené ve vektorech jazyka R.
a tím vytvoříme graf:
Z obou sloupců vytvoříme lineární model takto:
> Moje_regrese=lm(Prodana_zmrzlina_kg~Max_denni_teplota)
Tento model pak zavoláme:
> Moje_regrese
a zobrazí se výsledek:
Call:
lm(formula = Prodana_zmrzlina_kg ~ Max_denni_teplota)
Coefficients:
(Intercept) Max_denni_teplota
-12.571 1.658
Tedy rovnice lineární regrese je y = 1,658 * x - 12,571. Jinými slovy když vynásobím teplotu číslem 1,658 a odečtu 12,571, dostanu odhad prodaného množství pro tento den.
Přetahování dat mezi Excelem a R je samozřejmě oboustranné, příkazy s "Put" přesouvají data z Excelu do R a naopak příkazy "Get" znamená přesun z R do Excelu.
Použití si ukážeme na modelovém příkladu základní lineární regresní analýzy. Tu samozřejmě umíme udělat přímo v Excelu, ale teď si chceme ukázat jen samotné propojení Excelu s R.
Instalace
Než začnu pracovat s RExcelem, musím nainstalovat:- R (http://cran.r-project.org/bin/windows/base/)
- RExcel (http://rcom.univie.ac.at/download.html#RExcel)
Tím se stanou dvě věci. Zaprvé přibude nová záložka Add-inn s jediným tlačítkem RExcel, zadruhé přibude několik položek do menu pravého tlačítka (což se ale projevuje jen při připojeném R, viz dále).

Ukázka lineární regrese
Budeme zkoumat, kolik zmrzliny se prodává ve stánku se zmrzlinou, v závislosti na venkovní teplotě. Dá se totiž očekávat, že čím větší teplo, tím více se zmrzliny prodá.
Výsledkem má být graf a dvojice koeficientů lineární závislosti. Fakt, že závislost vůbec lineární být nemusí, tentokrát taktně přejdeme.
Výsledkem má být graf a dvojice koeficientů lineární závislosti. Fakt, že závislost vůbec lineární být nemusí, tentokrát taktně přejdeme.
Takto vypadají naše data:
Nejprve se připojíme k R stiskem tlačítka Connect R.
Pak načteme oba datové sloupce. Nejprve označíme hodnoty s teplotami a přes pravé tlačítko vybereme Put R Var.
V následujícím dialogu buď můžeme napsat název této skupiny dat, nebo jej přes "Get from cell" dotáhnout z buňky A1.
Teď úplně stejně přetáhneme data o prodejích, a to do proměnné pojmenované
Prodana_zmrzlina_kg. |
Můžeme to ověřit třeba tak, že v R napíšeme názvy proměnných a vidíme, že opravdu obsahují, co mají.
> Max_denni_teplota
[1] 23 25 26 27 20 28 30 21 14 12
> Prodana_zmrzlina_kg
[1] 32 35 30 33 28 34 27 20 4 6
Teď chceme vidět graf závislosti. V R zapíšeme:
> plot( Prodana_zmrzlina_kg,Max_denni_teplota)a tím vytvoříme graf:
Z obou sloupců vytvoříme lineární model takto:
> Moje_regrese=lm(Prodana_zmrzlina_kg~Max_denni_teplota)
Tento model pak zavoláme:
> Moje_regrese
a zobrazí se výsledek:
Call:
lm(formula = Prodana_zmrzlina_kg ~ Max_denni_teplota)
Coefficients:
(Intercept) Max_denni_teplota
-12.571 1.658
Tedy rovnice lineární regrese je y = 1,658 * x - 12,571. Jinými slovy když vynásobím teplotu číslem 1,658 a odečtu 12,571, dostanu odhad prodaného množství pro tento den.
Přetahování dat mezi Excelem a R je samozřejmě oboustranné, příkazy s "Put" přesouvají data z Excelu do R a naopak příkazy "Get" znamená přesun z R do Excelu.
Žádné komentáře:
Okomentovat