SPSS r

Amikor először elkezdtem használni R., amit szükséges tudni a választ ezekre a kérdésekre, hogy a használt e nekem nem voltak, mint például:

Ismerősen hangzik? Azt hiszem, igen. Rendben van. nézzük meg mindent alaposan, és annak érdekében.

Először kapcsolja a K - ez szemléletváltozás. Lásd az adatok - ez olyan, mint a kábítószer-függőség, ahonnan szeretne megszabadulni: nem kell őket látni. És van nekik, nem látja, mert ez kínálja SPSS - ez csak egy kis téglalap alakú darab egy nagy tömb. Ez a kis vizuális trükk, amit végre a K egyszerű parancsokat.

Szükségünk kísérleti adathalmaz; például ez:

Csak másolja és illessze be R:

Egy másik módja: kiválaszthatja, hogy másolja a tartalmát az asztalra, hogy a vágólapra, és írja be a következő parancsot:

Mindkét esetben az derül ki, mint ez:

Természetesen látjuk (és szerkesztés) az adatokat ismerjük azt a parancsot fix (teszt) (de soha nem tette, hogy mennyi idő telt el az R).

Nos, akkor néhány parancsot SPSS, amelyek végrehajtása a K érdekes lehet az Ön számára.

Szeretnénk rendezni adataink növekvő sorrendben a változó ONE:

A legfontosabb, hogy megértsék ezt a (úgy hangzik, mint egy bevezetés R, hanem az alapján, hogy a legjobb többi kézikönyv „Bevezetés R») abban rejlik, hogy indexek R sorok és oszlopok. Két kulcsfontosságú eszközöket, amelyek segítségével ez a fajta:

  • sorrendben () függvény. lásd segítséget egy csapat érdekében ?;
  • tartalmát szögletes zárójelek között.

A zárójelben információkat tartalmaznak az indexelés: indexelés előtt a vessző szerepel a sorok a tizedespont után - az oszlopok. Funkció előtt elhelyezett vessző jelzi, hogy azt akarjuk, hogy köze van a tömböt (és hogy pontosan mit akarunk csinálni: egyfajta megfigyelés, azaz vonal).

Mi is szeretnénk rendezni az adatokat csökkenő sorrendben:

Ott van még a sort () függvényt. de meg kell érteni, hogy annak ellenére, hogy a látszólagos hasonlóság a feladatokat (válogatás a tételeket, ezek a funkciók eltérően Vegyük például vektor karaktereket .:

Aha! A vektort rendezve. De mi a különbség a funkció érdekében ()?

érdekében () visszaad egy vektor indexek. Az utolsó karakter ebben a vektorban - egy „a” (ötödik pozíció), amely a vektor által visszaadott függvény sorrendben (). Nem található az ötödik pozícióban (az 5. számú visszatér az első). És így tovább:

Most, a különbség egyértelmű: a sort () függvény a kódokat a függvény visszatérési sorrendben ().

Sorba rendezi az adatokat tömb megfigyelő tárgya indexelés; így használjuk erre a célra sorrendben () függvényt. Úgy tűnik, némiképp ellentmondani nem használhatja a sort () rendezni húrok, de ha egyszer megszokja, akkor érzem, ez egy természetes jog.

Ez nagyon egyszerű: tudjuk index a tömb adatot az „[. ]. "

Csak a válogatás, akkor írjon valamit a tizedespont előtt, mint vállaljuk művelet egy string.

Jelölje ki az összes észrevételt, ahol változó ONE 1:

Jelölje ki az összes észrevételt, ahol változó ONE értéke 1, és a változó TWO „a”:

Jelölje ki az összes észrevételt, ahol változó ONE 2, és a változó életkor kevesebb, mint 60:

Természetesen, ha használjuk a tulajdonítanak () függvényt. A szintaxis még egyszerűbb lesz:

Az első szembetűnő különbség az, hogy a K tényező nem jelennek meg a számok. Nézzük például, hogy a változó két mi tömböt:

Opa! Most, ha valaki még gondolni, hogyan kell bontania az átlagos változó értékét:

„Argumentum nem numerikus vagy logikai”. Pont.

Azt gondolhatnánk, hogy a címkék használata a számok helyett - ez a buta (bár, és azt gondoltam is). Miért akarna valaki ilyet? Amikor belépünk az adatokat, az általunk használt számok helyett betűket. Tehát mi a csapda? A tény az, hogy amit a képernyőn lát - ez nem az, amit az adatbázisban tárolt. Tárolás (ha nem tévedek) számokból áll, R csak kiírja a képernyő alapértelmezés szinten.

Próbáljuk meg ezt:

Szóval férfi - jelentése 1 a nők - 2.

Ügyeljen arra, hogy a „kevesebb mint” jel ( "<") между уровнями: их наличие говорит нам о том, что переменная является порядковой.

Most hozzá a változó értékét címkék bármely az alábbi módszerek:

> Levels (tesztelni $ ONE) <- c("Low", "Medium", "High")

Vagy, ha úgy tetszik, hogy egyértelműen meg kell határozni, hogy egy adott számú szintet:

Ez még könnyebb, mint az érték címkéket. Tudom, hogy két módon.

Az első mód, ha a címkén az attr () függvényt.

Csak rendelt változó két további attribútum neve „címke” (a neve nem fontos, és más lehet, mint a „varlab”). Most kérje a címke (label) változó TWO:

A második lehetőség, hogy a funkció címke () re Hmisc csomagot.

Ez a funkció nem ugyanaz a dolog, csak egy intuitív módon. Ismét címke kérés:

Nehéz vitatkozni, de ezt a feladatot megkövetelheti Öntől több erőfeszítést, mint tudod képzelni. De mivel már belépett a közúti R, és a nyílt forráskódú, miért nem megy a végén?

Két kérdés az asztalra, amelyen azt kell meggyőzni:

  • hogy a táblázatban kell kinéznie?
  • Mi egy egyszerű módja annak, hogy az asztalra, akkor helyezze be a dokumentumokat?

Ez tűnhet meggyőző, de. akkor nem kell egy táblázatot a formázás SPSS stílusban. A probléma valóban ebben: SPSS táblázatokat is „zaformatirovany”. Túl sok választás, túl sok sor túl sok doboz. Mindez annyira vonzó, hogy eltereli a figyelmet a főtábla - számot is.

Hadd kérdezzek: mennyi van köszöntötte kiadványok asztalokkal formázva SPSS stílus? Megpróbálom kitalálni, és azt mondják, nem. Szakmai folyóiratok használata nagyon egyszerű formázást asztalokhoz, csak néhány sort, hogy megosszák fontos tartalmat. Az ilyen táblázatokat lehet létrehozni dedikált szoftver, például latex.

Az alábbiakban egy gyakorisági táblázatban létre SPSS változó egyik tömbben.

Ugyanez a K:

Néhány információ, nem vonalak egyáltalán. Szükségünk van egy végösszeg vagy érdekek? Ez egyszerű:

táblázat () függvény nagyon erős. Vessen egy pillantást, és megtanulják, hogyan működik. Ez nagyon hasznos az Ön számára.

Nagyon sok módja van, hogy helyezzen be egy táblázatot szöveggé. Attól függ, hogy milyen szoftvereket használ:

  • Latex, azt ismét használni Hmisc csomagot. Ez magában foglalja a speciális funkciók létrehozása LaTeX-tábla (lehet, hogy érdekli Sweave () függvény)
  • Az OpenOffice.org, van egy csodálatos nevű csomagot odfWeave. amely ellátja ugyanazt a feladatot magát Sweave (). de a dokumentum OpenOffice. Nem is kell másolnia egy táblázat vagy diagram: csak írni R kódot a program a dokumentumban, vezesse át a R (igen, R megteheti), és a kimeneti kapsz egy új dokumentumot ODF táblázatok és diagramok azokon a helyeken ahol írta a kódot.

Nos, ha hirtelen szeretnénk létrehozni egy pontos másolatot SPSS LaTeX asztal, akkor én is olyan mátrix objektum (nevezzük ONE), mint ez:

És most generálni LaTeX kód a következő:

Fuss a kódot LaTeX, és kap egy táblázatot:

Óvatosan, nem? Ez ugyanolyan típusú tábla szoktuk látni a szakmai folyóiratokban.

Ha több kell, érvek, a következő tény lehet ésszerűen benne,: SPSS, van egy dolog, amit tehetünk asztal - az, hogy helyezze be egy szöveges dokumentum. Milyen szép kép. Minden táblázatban R lehet meghatározni, mint egy önálló tárgy, amely a felhívni bármilyen információt. Van dinamikus hozzáférést biztosít, és minden olyan számot bármikor. Nos?

Ez ugyanaz, mint létrehozni egy változó alapján egy másik változó értékeit; és átkódolás ugyanazon változó, túl egyszerű.

A többi változó szerkesztése

Használata indexelés szerkesztése

nagyságrendben kell venni a sorrendet, amelyben megadjuk nekik ( „Young” az első szint).

Most már csak használni az erejét az indexálás megállapított R.

A vágás () függvény szerkesztése

Számos módja van, hogy ugyanazt az eredményt elérni. Egyikük - hogy használja a cut () függvényt. Mondjuk nincs válaszadók 100 évnél idősebb.

A kapott változó a faktor szint értékek, amelyek érthetőek ösztönösen. Kijelenthetjük a rend és szint értékek kifejezetten:

Segítségével recode () funkció szerkesztése

Egy másik módja, hogy nem ugyanaz, hogy használja a recode () függvény az autó csomagot.

Megjegyezzük, hogy a változó eredő, nem tényező (nem minden szimbolikus változók típusa „faktor”). Tudjuk használni az érv as.factor.result recode () függvényt. de alapértelmezés ez létre fog hozni szinten, ábécésorrendben, mi is élvezzük inkább, ha a szint „fiatal” lesz az első.

A hagyományos megoldás - az, hogy egy változót rendezett faktor:

Ugyanakkor a változó szerkesztése

Nehéz valami újat. Csak azért, hogy a bal és jobb oldalán az értékadó operátor "<-" мы используем имя одной и той же переменной:

Az egyetlen trükk jön, amikor indexelés. Meg fogjuk mutatni, például:

Ennek eredményeként ez a művelet, minden értéket alakítunk karakteres formátumban, úgy, hogy minden további kísérlet összehasonlítani a változó száma 60 semmi előnyét. A javasolt megoldás az, hogy hozzon létre egy ideiglenes objektum, azt használjuk indexelése a változó és aztán csak törölni.

Estesstvenno minden más módszer szinteket és rendelési hatályban maradnak.

Hogyan kell tartani a K formátumban? szabály

Ahogy van (eddig) tudjuk, R ad számos objektum típusok: skalár, vektor, mátrix keretek (dataframe), listák, tömbök, és számos egyéb (ha nem tévedek, még a R környezet lehet tekinteni, mint egy tárgy).

Tehát a kérdés: hogyan lehet menteni?

Mivel R kezel sok tárgyat, így megérti a sok adat formátumban (beleértve a .sav és .por fájlok).

Szerint a kapott információkat a parancs? Adatok. Négy támogatott adatformátum a következő kiterjesztések:

De ez a lista nem kötelező érvényű. Akkor a fájl neve semmit hosszabbításról, mert szükséges, hogy adja meg a teljes nevét, a kiterjesztéssel, ha a fájl olvasása.

Jellemzően tartalmazó fájlok kód R (vagyis sorozata utasítások végrehajtása), a kiterjedése „R”.

Egy fontos megjegyzés: Mivel R működhet közvetlenül a különböző objektumok memóriában egyidejűleg (képzeljük el, amikor egyszerre kettőt betöltődik a memóriába SPSS adatfájlt), azt is lehetővé teszi, hogy rögzítsék nekolko objektumokat egyetlen fájlban.

A következő példákban, azt feltételezi, hogy az olvasás és írás a fájlok végezzük az aktuális könyvtárban (hivatkozásként lásd. Getwd és? Setwd).

Az alábbi példák az alap, sok további lehetőségeket, amelyek lehetővé teszik, hogy további paraméterek mentésekor a fájlokat. Ne habozzon kapcsolatba lépni a súgót az alábbi függvényekkel.

lerakó () és a forrás () Edit

billenő () függvény írja parancsok sorozatának (például, mint a mi létrehozásához használt teszt tömb), és a belső szerkezete a adattömb.

R kódot általában írásos kiterjesztésű fájlok „R”, ezért választja ugyanazt a bővítményt:

A következő lépésben tudjuk használni a parancsokat a fájl „test.R” segítségével forrás () függvényt:

A lemez fájl „test.R” írt szöveges formában, így elég olvasható. Akkor nézd meg, hogy megértsék a működését dump ().

megtakarítás () és a terhelés () Edit

Ez a módszer a megőrzése R a legmegbízhatóbb, és ez az, amit ajánlani a használatra. Ebben az esetben az adatok kerülnek bináris formában, ezért olvashatatlan férfi fájlokat.

A nagy előnye a funkció save () - a kis fájlméret. Ezeket lehet nyomni (segítségével vagy az érv „tömöríteni”, vagy az azt követő kompresszió gzip) és R minden gond nélkül fogja olvasni ezeket a fájlokat.

A szintaxis a funkció nagyon egyszerű:

Először is, ellentétben a dump () függvényt. Az első érv nem idézőjelbe. Ahhoz, hogy megértsük, miért, forduljon az online segítség mindkét funkciót.

Reading adatok könnyedén:

Továbbá, ha a felhasználó meg akarja tartani az összes tárgyat, amelyek jelenleg a memória, meg tudjuk tartani az összes munkaterületet save.image () függvény

dput () és DGET () Edit

dput () függvény segítségével gyakorlatilag ugyanaz, mint a dump (). de egy különbséggel: a függvény eredménye nem utasítások R. Az eredmény tartalmazza csak a belső szerkezete a tárgy.

Itt nevet használta kiterjesztése „.Rdput” fájlt (kiterjesztés lehet használni). Nagyon hasznos érv kontroll = „all”. Ez biztosítja, hogy a belső szerkezete a tárgy van írva, hogy a fájl teljes (beleértve az összes attribútum az objektum).

Adatokat olvas a lemezről:

Egy másik különbség a lerakó parancs () - ez kifejezett objektumok létrehozását, ha az előző verzió az objektum létrehozását keresztül történik az utasításokat a fájlban tárolt.

write.table () és read.table () Edit

write.table () függvény létrehoz egy ASCII adatok tömb, a kimeneti fájl neve kiterjesztés - „.tab”, „.txt” vagy „.csv”, attól függően, hogy milyen típusú az adott szeparátor (szeptember érv).

A kimeneti fájl fogja veszíteni a teljes belső szerkezete a tárgy, azaz a rajta keresztül nem tudjuk megítélni, hogy egy változó tényező, vagy megrendelt faktor stb

A fájlok, tabulátorral tagolt, az utasítás a következő:

Általában SPSS formátumban Nincsenek címsorában (mint a nevét a változók). Az R, a maga részéről magában foglalja az ilyen elnevezések (a másik ok, hogy inkább R), így ha azt akarjuk, hogy a változók neveit, az értéket a megfelelő argumentum (header) TRUE.

Fukntsii read.table () az egyik leghasznosabb, hogy van egy csomó érveket. Minimális alkalmazás formájában az alábbiak szerint:

Ha a fájl egy vesszővel elválasztott értékek, a csapat ugyanaz, csak a paraméterek szeptember változik:

write () Edit

Ez a funkció lehetővé teszi a gyors bejegyzést a vektor fájl vagy a sablon.

Abban az esetben, vektor, ha egy karakter a fájl kerül mentésre alapértelmezés szerint egyetlen oszlop; ha a vektor számát, akkor használja az érv ncolumns:

Abban az esetben, egy mátrix, meg kell átültetni, mielőtt írni a fájlt:

A kimeneti fájl nevét tartalmazza a sorok és oszlopok.

.saveRDS () és .readRDS () Edit

Ez a megközelítés ajánlott a bátor tagjai.

Megjegyzés jelenléte pontok elején a függvény nevét.

Néha olyan helyzet áll elő, ahol meg kell menteni R objektumok az adatbázisban, mint a MySQL. ez általában annak a ténynek köszönhető, hogy a nagyon nagy mennyiségű adat.

Ez a művelet egyszerű, az adatok tömbök (dataframe) - ezek szerkezete hasonló az adatbázis szerkezetét. Bonyolultabb tárgyak, mint például listák és mátrixok, így közvetlen természetvédelmi egyszerűen lehetetlen.

R tudja alakítani a tárgy egy bináris formában, ebben a formában a BLOB (nagy bináris objektum), vagy ASCII-ábrázolás. Ez az átalakulás szerializációnak nevezik, és ez ad egy nagy előny, mivel a szerializált objektum - ez nem más, mint egy egyszerű vektort (mint MySQL oszlop a táblázatban).

Sorosításához egy tárgy, használatra serialize () függvény. átalakítani egy soros objektum a normál állapotba, használja unserialize ().

.saveRDS () funkció lehetővé teszi, hogy mentse a sorozatszám objektumot az aktuális könyvtárban. readRDS () beolvassa vissza.

Ez ment tömörített ASCII-változata a szerializált objektum R. Ha érdekel, úgy néz ki, mint egy szerializált objektum kövesse az alábbi lépéseket:

További információ a R orosz, lásd: