5_statisztika.pdf fájlban szereplő feladatok Feladat 1, 5. dia A számítás módja a következő: a kérdéses eset osztva az összes lehetséges eset számával. 1. 1/6 = 0,1667, azaz kb. 17%, hiszen az ötös egy lehetőség, de összesen hatféle eset van. 2. 4/32 = 1/8 = 0,125, mert négy király van, és összesen 32 lap. 3. Az első dobásnál 0,5 valószínűséggel kapunk fejet, a másodiknál szintén, ezért 0,5*0,5, azaz 0,25 a valószínűség. Egyszerűbb szemléltetés: négy eset van, fej-fej, fej-írás, írás-fej, írás-írás. A fej-fej esélye 1/4. 4. Mivel az ország lakosságának 51%-a katolikus, annak az esélye, hogy a megkérdezett pont katolikus, szintén 51%. 5. Itt az a logika, mint a 3. feladatnál. Annak az esélye, hogy a megkérdezett diplomás, 22,4%. Ezt kell megszorozni 0,5-tel, a nők arányával. Vagyis a valószínűség 11,2%. ############################### Feladat 2, 12. dia Az egyes feladatoknál a kommentárokat tartalmazó sorok # jellel kezdődnek. Ez az ún. kikommentálás, vagyis annak a jelzése, hogy nem R-függvényt, hanem valamilyen magyarázó szöveg, kommentárt tartalmaznak. Ezért az egyes feladatok alatt szereplő programkódot egy az egyben be tudjátok másolni copy-paste-tel az R-be, és futtatni a programkódot. A feladatsor elvégzéséhez le kell tölteni a ratings.RData fájlt innen: http://clara.nytud.hu/~mady/courses/statistics/materials/ Érdemes abba a könyvtárba tölteni, ahova az R a munkamemóriát is menti. Ezt a getwd() függvénnyel lehet lekérdezni, miután megnyitottuk az R-t. Betöltés az R-be: load("C:/elérési útvonal/ratings.RData") Aki nem tudja azonosítani a fájl elérési útvonalát, íron. Ne a read.table() függvényt használjátok, mert az RData már az R speciális formátumában van mentve, nem szöveges fájl. Emlékeztetőül: ha egy függvényt kis módosítással újra akarunk futtatni, a fölfelé mutató kurzornyíllal vissza tudunk lépegetni az előzőleg megadott függvényekre. Ha változtattunk, mindjárt nyomhatjuk az ENTER-t, nem kell kimenni a sor végére. 1. feladat # A noveny nevű logikai vektor létrehozása, ami csak a növényekre szűr: noveny = ratings$Class == "plant" # Azon elemek számának lekérdezése, amelyekre igaz, hogy a Class oszlopban plant érték van megadva. sum(plant) # A kapott érték 35. # Azon elemek számának lekérdezése, amelyekre NEM igaz, hogy a Class oszlopban plant érték van. sum(!noveny) # A kapott érték 46. 2. feladat # Logikai vektor létrehozása azokra az elemekre, amelyeknél a FreqSingular oszlopban 500-nál nagyobb gyakorisági érték szerepel. gyak500 = ratings$FreqSingular > 500 # Elemszám lekérdezése sum(gyak500) # Eredmény: 4 # A kérdéses elemek lekérdezése, ha az egész sort akarjuk megjeleníteni: ratings[gyak500,] # Ha csak az elemek neve érdekel a Word oszlopból. Erre két lehetőség van: ratings$Word[gyak500] ratings[gyak500, "Word"] # Eredmény: cat chicken dog horse 3. feladat # Logikai vektor létrehozása, amiben a FreqSingular és a FreqPlural oszlopban azonos érték található egyenlo = ratings$FreqSingular == ratings$FreqPlural # Ilyen értékek száma sum(egyenlo) # Eredmény: 6 4. feladat # Logikai vektor létrehozása olyan elemekre, amelyeknél mindkét gyakorisági oszlopban 7-es érték szerepel. gyak7 = ratings$FreqSingular == 7 & ratings$FreqPlural == 7 # A szó lekérdezése: ratings$Word[gyak7] # Eredmény: moose. 5. feladat # Átlag számítása növényekre és nemnövényekre: mean(ratings$meanFamiliarity[noveny]) # Eredmény: 4.366857 mean(ratings$meanFamiliarity[!noveny]) # Eredmény: 3.512174. # Vagyis a növények ismertebbek. # Különbség számítása: kivonás vagy diff() - difference - függvény. # Több lehetőség van, pl. mean(ratings$meanFamiliarity[noveny])-mean(ratings$meanFamiliarity[!noveny]) # Eredmény: 0.8546832 ##################### Feladat 3, 15. dia 1. feladat # Növények és állatok ábrázolása közös ábrában: plot(ratings$Frequency[noveny], ratings$meanFamiliarity[noveny], col="green",xlim=range(ratings$Frequency), ylim=range(ratings$meanFamiliarity)) par(new=T) plot(ratings$Frequency[!noveny], ratings$meanFamiliarity[!noveny], col="blue",xlim=range(ratings$Frequency), ylim=range(ratings$meanFamiliarity)) # Cím megadása a függvényen belül a main="Ezazéncímem" paraméterrel. # Az R a tengelyeket automatikusan feliratozza. Ezért érdemes az első függvényben megadni az általunk óhajtott feliratot, a másodikban pedig azt definiálni, hogy az R ne adjon feliratot a tengelyeknek. Ehhez az xlab = "x tengely felirata" paramétert kell megadni az első függvényben, a másodikban pedig ezt: xlab = "". Az ylab paraméternél analóg módon kell eljárni. plot(ratings$Frequency[noveny], ratings$meanFamiliarity[noveny], col="green",xlim=range(ratings$Frequency), ylim=range(ratings$meanFamiliarity), main = "Növények és állatok ismertsége", xlab = "gyakoriság", ylab = "ismertség") par(new=T) plot(ratings$Frequency[!noveny], ratings$meanFamiliarity[!noveny], col="blue",xlim=range(ratings$Frequency), ylim=range(ratings$meanFamiliarity), xlab = "", ylab = "") # Mentés pdf-ként: dev.print("ratings_ismertseg.pdf", device=pdf) # Fontos, hogy a kiterjesztést nekünk kell megadnunk a fájlnévben! Az R nem tudja, hogy pdf-et kell a név mögé biggyeszteni, és nem is akarja tudni, mert lehet, hogy mi inkább .kakukk kiterjesztést szeretnénk neki adni valamilyen okból. 2. feladat # Az egyszerű és összetett szavak felsorolása a Complex oszlopban szerepel. A gyakoriság a függő változó, vegyük pl. a többes számú gyakoriságot. Az összetettség a független változó, amelynek mentén csoportosítunk. A mátrix nevét elég a vessző után megadni, nem kell minden változó elé kiírni. # Mivel csak a növények gyakoriságára vagyunk kíváncsiak, ezt a részhalmazt adjuk meg. boxplot(FreqPlural~Complex, data = ratings[noveny,]) 3. feladat # Ezt a kérdést egyelőre szimplán leíró statisztikával válaszoljuk meg. Legegyszerűbb boxploton ábrázolni a Class oszlopban található kategóriákat, az y-tengelyen pedig a minket érdeklő mérőszámot. # Többes számú gyakoriság: boxplot(FreqPlural~Class, data = ratings) # Látjuk, hogy az állatnevek jóval gyakoribbak. # Persze a mediánokat is kiszámíthatjuk: median(ratings$FreqPlural[noveny]) # Növények mediánja: 23 median(ratings$FreqPlural[!noveny]) # Nemnövények, azaz állatok mediánja: 88.5. # Ugyanígy boxplotot készíthetünk a meanFamiliarity mérőszámnál: boxplot(meanFamiliarity~Class, data = ratings) # Itt az látszik, hogy a növények ismertebbek, mediánjuk 4.4, az állatoké 3.38.