Kompilácia a spustenie R z príkazového riadku
Existujú dva spôsoby spustenia programov R: skript R, ktorý je široko používaný a je najpreferovanejší, a druhý je R CMD BATCH, nejde o bežne používaný príkaz. Môžeme im zavolať priamo z príkazového riadku alebo iného plánovača úloh.
Tieto príkazy môžete volať z shellu zabudovaného do IDE a dnes RStudio IDE prichádza s nástrojmi, ktoré vylepšujú alebo spravujú skript R a funkcie R CMD BATCH.
funkcia source () vo vnútri R je dobrou alternatívou k použitiu príkazového riadku. Táto funkcia môže tiež volať skript, ale na použitie tejto funkcie musíte byť v prostredí R.
R Language Built-in Data Sets
Ak chcete zobraziť zoznam množín údajov, ktoré sú integrované s programom R, použite príkaz data (), potom vyhľadajte požadovaný obsah a vo funkcii data () použite názov množiny údajov. Podobné údaje (názov funkcie).
Zobraziť množiny údajov v R
Otáznik (?) sa dá použiť na vyžiadanie pomoci pre súbory údajov.
Ak chcete skontrolovať všetko, použite summary ().
Plot () je tiež funkcia, ktorá sa používa na vykreslenie grafov.
Vytvorme testovací skript a spustime ho. Vytvoriť p1.R súbor a uložte ho do domovského adresára s nasledujúcim obsahom:
Príklad kódu:
# Jednoduchý ahoj svetový kód v R tlači ("Hello World!") print (" LinuxHint ") print (5 + 6)
Beh Hello World
R Dátové rámce
Na ukladanie údajov do tabuliek používame štruktúru v R s názvom a Dátový rámec. Používa sa na zoznam vektorov rovnakej dĺžky. Napríklad nasledujúca premenná nm je dátový rámec obsahujúci tri vektory x, y, z:
x = c (2, 3, 5) y = c ("aa", "bb", "cc") z = c (TRUE, FALSE, TRUE) # nm je dátový rámec nm = data.rám (n, s, b)
Existuje koncept tzv VstavanýDátové rámce aj v R. mtcars je jeden taký zabudovaný dátový rámec v R, ktorý použijeme ako príklad pre lepšie pochopenie. Pozrite si kód uvedený nižšie:
> mtcars mpg cyl disp hp drat wt ... Mazda RX4 21.0 6 160 110 3.90 2.62… autobus RX4 Wag 21.0 6 160 110 3.90 2.88… Datsun 710 22.8 4 108 93 3.85 2.32…
mtcars bulitínový dátový rámec
Hlavička je horný riadok tabuľky, ktorý obsahuje názvy stĺpcov. Dátové riadky sú darované každou vodorovnou čiarou; každý riadok začína názvom riadku a za ním nasledujú skutočné údaje. Dátový člen riadku sa nazýva bunka.
Zadali by sme súradnice riadkov a stĺpcov do jedného operátora štvorcovej zátvorky „[]“, aby sme načítali údaje v bunke. Na oddelenie súradníc používame čiarku. Poradie je nevyhnutné. Súradnica sa začína riadkom, potom čiarkou a končí sa stĺpcom. Hodnota bunky 2nd riadok a 1sv stĺpec je uvedený ako:
> mtcars [2, 2] [1] 6
Namiesto súradníc môžeme použiť aj názov riadku a stĺpca:
> mtcars ["Bus RX4", "mpg"] [1] 6
Funkcia nrow slúži na zistenie počtu riadkov v dátovom rámci.
> nrow (mtcars) # počet riadkov údajov [1] 32
Funkcia ncol sa používa na zistenie počtu stĺpcov v dátovom rámci.
> ncol (mtcars) # počet stĺpcov [1] 11
R Programovacie slučky
Za určitých podmienok používame slučky, keď chceme automatizovať niektorú časť kódu, alebo chceme opakovať postupnosť pokynov.
Pre slučku v R
Ak si chceme tieto roky vytlačiť informácie viackrát.
tlač (vložiť („Rok je“, 2000)) „Rok má 2000“ tlačiť (vložiť („Rok je“, 2001)) „Rok 2001“ tlačiť (vložiť („Rok je“, 2002) ) „Píše sa rok 2002“ print (prilepiť („The year is“, 2003)) „The year is 2003“ print (paste („The year is“, 2004)) „The year is 2004“ print (paste („ Píše sa rok „, 2005))„ Píše sa rok 2005 “
Namiesto toho, aby sme naše tvrdenie opakovali znova a znova, ak použijeme pre slučka to bude pre nás oveľa jednoduchšie. Páči sa ti to:
pre (rok v c (2000,2001,2002,2003,2004,2005)) tlač (vložiť („Rok je“, rok)) „Rok je 2000“ „Rok 2001“ „Rok je 2002 "" Píše sa rok 2003 "" Píše sa rok 2004 "" Píše sa rok 2005 "
Zatiaľ čo Loop in R
while (výraz) statement
Ak je výsledok výrazu TRUE, zadá sa telo slučky. Vykonajú sa príkazy vnútri slučky a tok sa vráti, aby sa výraz znova vyhodnotil. Smyčka sa bude opakovať, kým sa výraz nevyhodnotí ako FALSE. V takom prípade sa slučka ukončí.
Príklad while Loop:
# i je pôvodne inicializované na 0 i = 0 while (i<5) print (i) i=i+1 Output: 0 1 2 3 4
V slučke while je výraz i<5ktorý meria TRUE, pretože 0 je menej ako 5. Preto sa vykoná telo slučky a i je výstup a zvýšený. Je dôležité zvyšovať i vo vnútri slučky, takže v určitom okamihu bude nejako spĺňať podmienku. V ďalšej slučke hodnota i je 1 a slučka pokračuje. Bude sa to opakovať až do i sa rovná 5, keď je podmienka 5<5 reached loop will give FALSE and the while loop will exit.
R Funkcie
Ak chcete vytvoriť funkcia používame direktívnu funkciu (). Konkrétne sa jedná o R objekty triedy funkcia.
f <- function() ##some piece of instructions
Je pozoruhodné, že funkcie je možné odovzdať iným funkciám, pretože argumenty a funkcie môžu byť vnorené, aby ste mohli určiť funkciu v inej funkcii.
Funkcie môžu voliteľne obsahovať niektoré pomenované argumenty, ktoré majú predvolené hodnoty. Ak nechcete predvolenú hodnotu, môžete nastaviť jej hodnotu na NULL.
Niektoré fakty o argumentoch funkcie R:
- Argumenty prijaté v definícii funkcie sú formálne argumenty
- Funkcia formálov by mohla vrátiť zoznam všetkých formálnych argumentov funkcie
- Nie každé volanie funkcie v R používa všetky formálne argumenty
- Argumenty funkcií môžu mať predvolené hodnoty alebo môžu chýbať
# Definovanie funkcie: f <- function (x, y = 1, z = 2, s= NULL)
Vytvorenie modelu logistickej regresie so zabudovanou sadou údajov
The glm () Funkcia R sa používa na prispôsobenie logistickej regresii. Funkcia glm () je podobná funkcii lm (), ale glm () má niektoré ďalšie parametre. Jeho formát vyzerá takto:
glm (X ~ Z1 + Z2 + Z3, family = binomial (link = ”logit”), data = mydata)
X je závislé od hodnôt Z1, Z2 a Z3. Čo znamená, že Z1, Z2 a Z3 sú nezávislé premenné a X je závislá. Funkcia zahŕňa rodinu ďalších parametrov a má hodnotu binomickú (link = „logit“), čo znamená, že funkcia odkazu je logit a rozdelenie pravdepodobnosti regresného modelu je binomické.
Predpokladajme, že máme príklad študenta, kde dostane prijatie na základe dvoch výsledkov skúšky. Súbor údajov obsahuje nasledujúce položky:
- výsledok _1- Výsledok-1 skóre
- výsledok _2- Výsledok -2 skóre
- prijatý - 1, ak je prijatý, alebo 0, ak nie je prijatý
V tomto príklade máme dve hodnoty 1, ak študent dostal vstup, a 0, ak nedostal vstup. Musíme vygenerovať model na predpovedanie toho, či študent dostal alebo nedostal povolenie,. Pri danom probléme sa prijatá skúška považuje za závislú premennú, skúška_1 a skúška_2 sa považujú za nezávislé premenné. Pre tento model je uvedený náš kód R
> Model_1<-glm(admitted ~ result_1 +result_2, family = binomial("logit"), data=data)
Predpokladajme, že máme dva výsledky študenta. Výsledok - 1 65% a výsledok - 2 90%, teraz budeme predpovedať, že študent dostane alebo nedostane vstup na odhad pravdepodobnosti získania študenta, náš R kód je uvedený nižšie:
> v_rámci<-data.frame(result_1=65,result_2=90) >predvídať (Model_1, in_frame, type = "response") Výstup: 0.9894302
Vyššie uvedený výstup nám ukazuje pravdepodobnosť medzi 0 a 1. Ak je to potom menej ako 0.5 to znamená, že študent nedostal vstupné. Za tohto stavu bude NEPRAVDA. Ak je väčšia ako 0.5, podmienka sa bude považovať za PRAVDA, čo znamená, že študent dostal vstupné. Na predpovedanie pravdepodobnosti medzi 0 a 1 musíme použiť funkciu round ().
R kód je uvedený nižšie:
> okrúhle (predpovedať (Model_1, in_frame, type = "response")) [/ code] Výstup: 1
Študent dostane vstupné, pretože výstup je 1. Rovnakým spôsobom môžeme predpovedať aj ďalšie pozorovania.
Použitie logistického regresného modelu (bodovania) s novými údajmi
V prípade potreby môžeme model uložiť do súboru. R kód pre náš model vlaku bude vyzerať takto:
model <- glm(my_formula, family=binomial(link='logit'),data=model_set)
Tento model je možné uložiť pomocou:
uložiť (súbor = "názov súboru", súbor)
Súbor môžete použiť po uložení pomocou tohto kódu R:
načítať (súbor = "názov súboru")
Na uplatnenie modelu na nové údaje môžete použiť tento riadok kódu:
model_set $ pred <- predict(the_model, newdata=model_set, type="response")
POZNÁMKA: Model_set nemožno priradiť k žiadnej premennej. Na načítanie modelu použijeme funkciu load (). Nové pozorovania na modeli nič nezmenia. Model zostane rovnaký. Starý model používame na predpovedanie nových údajov, aby sme na modeli nič nezmenili.
Záver
Dúfam, že ste videli, ako programovanie R funguje základným spôsobom a ako sa môžete rýchlo dostať do akcie pomocou strojového učenia a kódovania štatistík s programom R.