Výuka a školení Excelu Výuka a školení Excelu Výuka a školení Excelu
Výuka a školení Excelu Výuka a školení Excelu

sobota 2. srpna 2014

Jak zkřížit Excel s jazykem R

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.

Instalace

Než začnu pracovat s RExcelem, musím nainstalovat:
Po instalaci pak v Excelu pod Soubor / Možnosti / Doplňky ve spodní části rámečku ještě zaškrtnout nejprve "Přejít" a pak zaškrtnout 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.
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.
Teď jsou tedy oba sloupce uložené ve vektorech jazyka R.
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