Listák és adattáblák

A legjobb, ha már elolvasta a Vektorok, az indexelés és a hozzárendelés fejezetet, mielőtt ezzel foglalkozna.

amely lehetővé

Ezt a fejezetet a webin-R # 02 (az R nyelv alapjai) a YouTube-on tárgyalja.

Listák

A vektorok természetüknél fogva csak azonos típusú (numerikus, szöveges vagy logikai) értékeket tartalmazhatnak. Előfordulhat azonban, hogy összetettebb, eltérő elemekből álló objektumokat kell ábrázolnunk. Ez megengedi .

Tulajdonságok és alkotás

A lista egyszerűen a lista funkcióval jön létre:

A lista objektumok gyűjteménye, bármi is legyen, a lista minden elemének megvannak a maga méretei. Korábbi példánkban hoztunk létre egy l1 listát, amely két elemből áll: egy 5 hosszúságú egész vektorból és egy 1 hosszúságú szövegvektorból. A lista hossza megegyezik a benne lévő elemek számával, és az s 'hosszával megkapja:

A vektorokhoz hasonlóan egy lista is megnevezhető, és a lista elemeinek nevei nevekkel érhetők el:

Mi történik most, ha a következő parancsot hajtjuk végre ?

Mit gondolsz, meddig vagyok ez az új lista? 5. ?

Hát nem ! A hossza 2, mert létrehoztunk egy listát, amely két elemből áll, amelyek maguk is listák. Ez jobban olvasható, ha meghívjuk az str függvényt, amely lehetővé teszi az objektum szerkezetének vizualizálását.

A lista minden típusú objektumot tartalmazhat, beleértve más listákat is. A lista elemeinek kombinálásához az Append függvényt kell használnia:

Ideiglenesen megjegyezhetjük, hogy egy listát csak részben lehet megnevezni.

Indexelés

Az egyes zárójelek ([]) úgy működnek, mint a vektorok. Használhatja a ’,’ és ’.

Még ha egyetlen elemet is kibontunk, az egyes zárójelekkel kapott kivonat mindig egy listát ad vissza, itt egyetlen elemből áll:

Tegyük fel, hogy a listám első elemének átlagát akarom kiszámítani. Próbálja ki a következő parancsot:

Hibaüzenetet kapunk. Valóban, R nem tudja kiszámolni az átlagot egy listából. Amire szüksége van, az egy numerikus értékek vektora. Más szavakkal, amit keresünk, az a listánk első elemének tényleges tartalma, nem pedig egyetlen elemlista.

Itt fognak megjelenni a kettős zárójelek ([[]]), ezekhez használhatjuk a pozíció szerinti indexelést vagy a név szerinti indexelést, de a feltétel szerinti indexelést nem. Ezenkívül a feltüntetendő kritériumnak fel kell tüntetnie a listánk egyetlen és egyetlen elemét. Ahelyett, hogy egy elemet tartalmazó listát adna vissza, dupla zárójelek adja vissza a kijelölt elemet. Gyors, példa:

Most kiszámíthatjuk az átlagunkat:

Név szerint is tesztelhetjük az indexelést.

De el kell ismernünk, hogy ez a kettős zárójeles és idézőjeles írás kissé nehéz. Szerencsére egy új játékos lép a színre: a dollár szimbólum ($). Ez a kettős zárójelek rövidítése a név szerinti indexeléshez, és így használják:

Az l $ month és az l [["month"]] bejegyzések egyenértékűek. Figyelem ! Ez csak név szerinti indexelésnél működik.

Dupla zárójelekkel vagy dollárjelekkel is működik:

Adattáblák

Van egy típusú objektum, amelyre már kitértünk az Első munka az adatokkal fejezetben, ez vagy angolul.

Tulajdonságok és alkotás

Ban ben R, az adattömbök egyszerűen listák, néhány speciális tulajdonsággal:

  • az adattáblák csak vektorokat tartalmazhatnak;
  • az adattábla összes vektora azonos hosszúságú;
  • egy adattábla összes eleme meg van nevezve, és mindegyiknek egyedi neve van.

Ezért egy adattábla megfelel azoknak az adatfájloknak, amelyeket más statisztikai szoftverekben, például a vagy Stata. A változókat oszlopokba rendezik, a megfigyeléseket pedig sorokba rendezik.

Hozhatunk létre egy adattáblát a data.frame függvénnyel:

A data.frame függvénynek nagy hibája van: ha nem tiltjuk le az stringeketAsFactors opcióval, akkor a húrokat, itt a nemi változót tényezőkké alakítja (egy olyan vektortípus, amelyet egy későbbi fejezetben részletesebben tárgyalunk).

Mivel egy tömb adat egy lista, a length függvény visszaadja a listában szereplő elemek számát, tehát ebben az esetben a változók számát és megnevezi a nevüket:

Mivel egy adattömb összes eleme azonos hosszúságú, ez az objektum kétdimenziósnak tekinthető. A nrow, ncol és dim függvények megadják a sorok számát, az oszlopok számát és a tömb dimenzióit.