2.3. Óravázlat az R tanításához

Az R oktatásához és tanulásához egy lehetséges tanmenet vázlatát mutatjuk be. Az R tanulmányozását két féléves rendszerben, félévenként 10-10 órában képzeltük el. A lent felsorolt óravázlat összesen 20 órában sorolja fel azokat az ismeretelemeket, amelyek az R gyakorlati felhasználásához nem nélkülözhetők.

1. óra

  • Az R letöltése és telepítése, dokumentációk az R használatához
  • Az RGui áttekintése, a konzol használata
  • Szkriptabalak használata, parancsok végrehajtása
  • Számok írása, numerikus operátorok
  • Karakterkonstansok az R-ben
  • Logikai konstansok és a logikai műveletek

2. óra

  • Objektum létrehozása, értékének megváltoztatása
  • Objektumokat is tartalmazó kifejezések
  • Függvények hívása, pl. log(), exp() függvények bemutatása, egyéb matematikai függvények
  • Függvényparaméterek elnevezése, sorrendjük cseréje
  • Kifejezés definíciója
  • Vektor adatszerkezet definíciója
  • Vektor létrehozása: c(), : (kettőspont operátor), seq(), rep()

3. óra

  • A faktor adatszerkezet definíciója, faktor létrehozása a factor() függvénnyel
  • Objektumok adattípusának megtekintése és az objektum hossza: class(), length()
  • Adattábla definíciója, létrehozása a data.frame() függvénnyel
  • Tagolt szöveges állomány létrehozása táblázatkezelővel és szövegszerkesztővel
  • Tagolt szöveges állomány beolvasása a read.table() függvénnyel
  • A beolvasás helyességének ellenőrzése az str() függvénnyel
  • A read.table() argumentumainak hatása az str() outputjára

4. óra

  • Mátrix adatszerkezet, létrehozása a matrix() függvénnyel
  • Tömb adatszerkezet, létrehozása az array() függvénnyel
  • Lista adatszerkezet, létrehozása a list() függvénnyel
  • Indexelés vektor, mátrix, tömb és adattábla esetén
  • Hivatkozás listaelemekre lista és adattábla esetén

5. óra

  • Egyszerű típuskonverziók (numerikus vektorból faktor és karakteres vektorból faktor előállítása a factor() függvénnyel)
  • Faktor szintjeinek átnevezése, a szintek sorrendjének meghatározása
  • Vektor rendezése a sort() és order() függvényel
  • Adattábla rendezése az order() függvényel
  • Adattábla szűrése egyszerű logikai kifejezéssel és összetett logikai kifejezéssel

6. óra

  • Az R környezet fogalmai: munkakönyvtár, munkaterület, csomag
  • Munkakönyvtár kezelése
  • Objektum létrehozása és eltávolítása a munkaterületről, objektumok listája
  • Csomag telepítése, telepített csomagok listája, csomag betöltése, csomag eltávolítása, betöltött csomagok listája
  • Az RStudio letöltése, telepítése és használata
  • Az R Commander telepítése és használatának bemutatása
  • Az RGUI, RStudio és R Commander összehasonlítása

7. óra

  • Leíró statisztikai mérőszámok meghatározása: summary(), mean(), median() stb.
  • Hiányzó értékek kezelése (na.rm=T, is.na(), na.ommit())
  • Műveletek több változóra és csoportra (apply(), sapply(), tapply(), aggregate(), by())

8. óra

  • Gyakorisági táblázatok létrehozása a table() és xtabs() függvénnyel
  • Hiányzó értékek kezelése (useNA="ifany")
  • Relatív gyakorisági táblázatok
  • Kumulált gyakorisági táblázatok
  • Soronként vagy oszloponként vett kétdimenziós gyakorisági táblázatok
  • Három vagy többdimenziós táblázatok (array() és ftable())

9. óra

  • A hagyományos grafika magasszintű függvényei
  • Oszlopdiagram rajzolása (barplot())
  • Egydimenziós pontdiagram létrehozása (stripchart())
  • Grafikus paraméterek fogalma és beállítása a par() függvénnyel
  • Feliratok (main=, sub=, xlab=, ylab=, las=), tengelyek (xlim=, ylim=, mgp=, tcl=), pontkarakterek (pch=), margók (mar=), színek (col=) beállítása

10. óra

  • Pontdiagram és vonaldiagram rajzolása (plot())
  • Dobozdiagram rajzolása (boxplot())
  • Hisztogram rajzolása (hist())
  • További grafikus paraméterek: rajzterület felosztása (mfrow=, mfcol=)
  • Grafikus eszközök típusai (windows(), png(), jpeg(), pdf())
  • Képállományok létrehozása és beállítási lehetőségek (res=, width=, height=)
  • Grafikus eszközök bezárása

11. óra

  • A reprodukálható kutatás elvének bemutatása
  • Az RStudio lehetőségei a reprodukálható kutatásban
  • R Markdown állomány (Rmd) létrehozása, szintaxisának bemutatása és HTML generálása
  • R Sweave állomány (Rsw) létrehozása, szintaxisának bemutatása és PDF generálása
  • R Presentation állomány (Rpres) létrehozása, szintaxisának bemutatása és HTML generálása

12. óra

  • Beolvasás tagolt szöveges állományból, további lehetőségek (stringsAsFactors=, comment.char=, na.strings=, strip.white= stb.)
  • Tagolt szöveges állomány írása (write.table())
  • Beolvasás külső adatforrásból (foreign, RODBC, Rcmdr, XLConnect csomagok, readClipboard() függvény)
  • az R bináris adatállományának kezelése (load(), save(), save.image())

13. óra

  • Információk az adatobjektumokról (str(), class(), head(), length(), dim(), nrow(), ncol(), attributes(), attr(), names(), colnames(), rownames(), levels(), nlevels(), typeof(), mode())
  • Egyszerű típuskonverzió a karakters, numerikus, logikai és faktor típusok között (factor(), as.factor(), as.numeric(), as.character(), as.logical())
  • Mátrix és adattábla sor- és oszlopmanipulációja: sor és oszlopnevek megadása, átnevezése, sorok és oszlopok törlése, beszúrása és cseréje (pl. rbind(), cbind())
  • Numerikusból numerikus transzformáció (tetszőleges mat.függv., transform(), recode())
  • Numerikusból faktor transzformáció (cut(), recode())
  • Faktorból faktor transzformáció (recode())

14. óra

  • Adatelőkészítés egy- és kétmintás próbákhoz
  • Adatbázis létrehozás a data.frame() függvénnyel a varianciaelemzés számára (kiegyensúlyozott és nem kiegyensúlyozott esetek)
  • A hosszú és széles adatbázisok fogalma
  • Adatbázis átalakítása a két formátum között (reshape(), melt(), dcast())
  • Adattáblák összefűzése

15. óra

  • Egymintás és kétmintás próbák végrehajtása
  • Argumentumok és outputok értelmezése
  • z.test(), t.test(), prop.test(), binom.test(), fisher.test(), mcnemar.test(), wilcox.test(), friedman.test()

16. óra

  • A varianciaelemzés különböző változatainak végrehajtása
  • Argumentumok és outputok értelmezése
  • aov(), lm()

17. óra

  • Korreláció- és regressziószámítás végrehajtása
  • Argumentumok és outputok értelmezése
  • cor(), cor.test(), lm()

18. óra

  • Véletlen a sample() függvény segítségével
  • Eloszlások függvényei (r...(), d...(), q...(), p...())
  • Kritikus értékek és p-értékek meghatározása a q...(), p...() függvényekkel
  • Eloszlások sűrűségfüggvényeinek rajzolása a curve() függvény segítségével

19. óra

  • A hagyományos grafika egyéb magasszintű függvényei (qqnorm() stb.)
  • Alacsony szintű grafikus függvények (text(), mtext() stb.)
  • Színkódok létrehozása az RColorBrewer és dichromat csomagokkal
  • A lattice grafikus rendszer elemei

20. óra

  • A ggplot2 grafikus rendszer elemei

20+1. óra

  • Az R programozási lehetőségei: szekvencia, feltételes utasítások, ciklusok
  • Függvények létrehozása
  • Objektum-orientált lehetőségek