######### Órai szkriptek ################ # Létrehoztunk a Dokumentumok könyvtárban egy statisztika elnevezésű mappát. # Ide letöltöttük a négy evszakok_ kezdetű csv-fájlt innen: # https://phon.nytud.hu/mady/courses/statistics/2024/ # Az R-ben ezt a könyvtárat adtuk meg munkamemóriának: setwd("C:/Users/mokuska/Documents/statisztika") # Ezt természetesen a saját fájlszerkezethez kell szabni. # FONTOS: a könyvtárakat nem \, hanem / jel választja el, mint Linuxon és Mac-en. # Ezután megpróbáltuk beolvasni az évszakok pontszámait. Első próbálkozásunk: evszakok = read.table("evszakok_tab.csv") # Ezt a hibajelzést kaptuk: ############ ### Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : line 2 did not have 5 elements ############ # A fájl első három sorában ugyanis hiányzik a kísérleti személy kora, így csak négy oszlopból áll. A fájl oszlopait az Excelből való mentéskor szóközökkel választottuk el, és az R nem számol szóközt. Csak azt látja, hogy valahol VAN szóköz, azt nem, hogy HÁNY. # Megnéztük a read.table() függvény súgóját így: help(read.table) # vagy így ?read.table # Ezért most egy vesszőkkel elválasztott fájlt olvastunk be: evszakok = read.table("evszakok_vesszo.csv",sep=",") # Így nézzük meg az evszakok objektum tartalmát: evszakok # Látjuk, hogy az oszlopneveket tartalmazó első sor az első adatsor lett, nem oszlopnév. # Helyette az oszlopneveket az R adja V1-től számozva. # Ezért a beolvasáskor megadjuk, hogy az első sorunk oszlopneveket tartalmaz, a 2. sortól kezdődnek az adataink: evszakok = read.table("evszakok_tab.csv",sep=",",header=T) # Ha magyar nyelvű Excelből írtuk ki az adatainkat, és vannak benne tizedes számok, akkor jobb, ha pontosvesszővel választjuk el az oszlopokat. evszakok = read.table("evszakok_tizedes.csv",sep=";",header=T) # Ekkor további problémába ütközünk. # Próbáljunk átlagot számolni a pontszámokból: mean(evszakok$pontszam) ########## HIBA ################# # Warning message: # In mean.default(evszakok$pontszam) : argument is not numeric or logical: returning NA ################################# # A programnyelvekben a tizedes ugyanis mindig pont. Ezt is meg kell tehát adnunk. evszakok = read.table("evszakok_tizedes.csv",sep=";",header=T,dec=",") # Ezek a paraméterek egyébként épp a read.csv2() függvény alapbeállításai. Vagyis nem is kell a paraméterbeállításokkal vesződnünk: evszakok = read.csv2("evszakok_pontosvesszo.csv") ########## Házi feladat ############ A kérdések a most már helyesen betöltött evszakok objektumra vonatkoznak. Az ábrákat egyelőre Windowson az R menüjén keresztül mentsétek. Ha az ábra ablaka aktív, a File menü első pontja Save as... Az ábrákat pdf-ként mentsétek, és úgy küldjétek emailben. A szöveges válaszokat írjátok bele az emailbe vagy egy csatolt txt-fájlba. 1. Hány nő és hány férfi adatait tartalmazza az adatsor? Készítsetek kördiagramot az eloszlásról. 2. Mi az összes résztvevő korának módusza, mediánja és átlaga? 3. Készítsetek dobozdiagramot a férfi és a női résztvevők koráról. Megegyezik valamelyik nemnél a medián és az interkvartilis félterjedelem? 4. Ábrázoljátok a tetszésre adott pontszámok kumulatív gyakoriságait a következő függvénnyel: barplot(cumsum(table(evszakok$pontszam))) Egyenletesen nőnek a pontok, vagy nem lineáris a növekedés?