Kompilace a spuštění R z příkazového řádku
Dva způsoby, jak spustit programy R, jsou: skript R, který je široce používán a je nejvíce preferován, a druhý je R CMD BATCH, nejedná se o běžně používaný příkaz. Můžeme jim zavolat přímo z příkazového řádku nebo jiného plánovače úloh.
Tyto příkazy můžete volat z shellu zabudovaného do IDE a dnes RStudio IDE přichází s nástroji, které vylepšují nebo spravují skript R a funkce R CMD BATCH.
Funkce source () uvnitř R je dobrou alternativou k použití příkazového řádku. Tato funkce může také volat skript, ale pro použití této funkce musíte být v prostředí R.
R jazykové integrované datové sady
Chcete-li zobrazit seznam datových sad, které jsou integrovány s R, použijte příkaz data (), poté najděte, co chcete, a použijte název datové sady ve funkci data (). Jako data (název funkce).
Zobrazit datové sady v R
Otazník (?) lze použít k požádání o pomoc s datovými soubory.
Chcete-li zkontrolovat vše, použijte souhrn ().
Plot () je také funkce, která se používá k vykreslování grafů.
Vytvořme testovací skript a spusťte jej. Vytvořit p1.R soubor a uložte jej do domovského adresáře s následujícím obsahem:
Příklad kódu:
# Jednoduchý ahoj světový kód v R tisku ("Hello World!") print (" LinuxHint ") print (5 + 6)
Běží Hello World
R datové rámce
Pro ukládání dat v tabulkách používáme strukturu v R nazvanou a Datový rámec. Používá se k vypsání vektorů stejné délky. Například následující proměnná nm je datový rámec obsahující tři vektory x, y, z:
x = c (2, 3, 5) y = c ("aa", "bb", "cc") z = c (PRAVDA, NEPRAVDA, PRAVDA) # nm je datový rámec nm = data.rám (n, s, b)
Existuje koncept zvaný VestavěnýDatové rámce také v R. mtcars je jeden takový vestavěný datový rámec v R, který použijeme jako příklad pro lepší porozumění. Viz kód níže:
> 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 bulitinový datový rámec
Záhlaví je horní řádek tabulky, který obsahuje názvy sloupců. Datové řádky jsou darovány každou vodorovnou čarou; každý řádek začíná názvem řádku a poté následuje skutečná data. Datový člen řádku se nazývá buňka.
Zadali bychom souřadnice řádku a sloupce do jediného operátoru hranaté závorky „[]“, abychom načetli data v buňce. K oddělení souřadnic používáme čárku. Pořadí je zásadní. Souřadnice začíná řádkem, potom čárkou a končí sloupcem. Hodnota buňky 2nd řádek a 1Svatý sloupec je uveden jako:
> mtcars [2, 2] [1] 6
Místo souřadnic můžeme také použít název řádku a sloupce:
> mtcars ["Bus RX4", "mpg"] [1] 6
Funkce nrow slouží k nalezení počtu řádků v datovém rámci.
> nrow (mtcars) # počet datových řádků [1] 32
Funkce ncol se používá k nalezení počtu sloupců v datovém rámci.
> ncol (mtcars) # počet sloupců [1] 11
R Programovací smyčky
Za určitých podmínek používáme smyčky, když chceme automatizovat nějakou část kódu, nebo chceme opakovat posloupnost pokynů.
Pro smyčku v R
Pokud si chceme tyto roky informace vytisknout vícekrát.
tisk (vložit („Rok je“, 2000)) „Rok je 2000“ tisk (vložit („Rok je“, 2001)) „Rok je 2001“ tisk (vložit („Rok je“, 2002) ) „Píše se rok 2002“ print (vložit („The year is“, 2003)) „The year is 2003“ print (paste („The year is“, 2004)) „The year is 2004“ print (paste („ Píše se rok „, 2005))„ Píše se rok 2005 “
Místo opakování našeho prohlášení znovu a znovu, pokud použijeme pro smyčka, bude to pro nás mnohem snazší. Takhle:
for (year in c (2000,2001,2002,2003,2004,2005)) print (paste ("The year is", year)) "The year is 2000" "The year is 2001" "The year is 2002 "" Píše se rok 2003 "" Píše se rok 2004 "" Píše se rok 2005 "
While Loop in R
while (výraz) prohlášení
Pokud je výsledek výrazu PRAVDA, zadá se tělo smyčky. Jsou provedeny příkazy uvnitř smyčky a tok se vrátí, aby se výraz znovu vyhodnotil. Smyčka se bude opakovat, dokud nebude výraz vyhodnocen jako FALSE, v takovém případě smyčka skončí.
Příklad while Loop:
# i je zpočátku inicializováno na 0 i = 0 while (i<5) print (i) i=i+1 Output: 0 1 2 3 4
Ve výše uvedené smyčce while je výraz i<5který měří na TRUE, protože 0 je menší než 5. Proto je provedeno tělo smyčky a i je na výstupu a zvýšeno. Je důležité zvyšovat i uvnitř smyčky, takže v určitém okamžiku nějak splní podmínku. V další smyčce hodnota i je 1 a smyčka pokračuje. Bude se opakovat až do i se rovná 5, když je podmínka 5<5 reached loop will give FALSE and the while loop will exit.
Funkce R
Chcete-li vytvořit funkce používáme direktivní funkci (). Konkrétně se jedná o R objekty třídy funkce.
F <- function() ##some piece of instructions
Funkce je možné předat jiným funkcím, protože argumenty a funkce lze vnořit, abyste mohli určit funkci uvnitř jiné funkce.
Funkce volitelně mohou mít některé pojmenované argumenty, které mají výchozí hodnoty. Pokud nechcete výchozí hodnotu, můžete nastavit její hodnotu na NULL.
Některá fakta o argumentech funkce R:
- Argumenty přijaté v definici funkce jsou formální argumenty
- Formální funkce by mohla vrátit seznam všech formálních argumentů funkce
- Ne každé volání funkce v R používá všechny formální argumenty
- Argumenty funkce mohou mít výchozí hodnoty nebo mohou chybět
# Definování funkce: f <- function (x, y = 1, z = 2, s= NULL)
Vytvoření modelu logistické regrese s integrovanou sadou dat
The glm () funkce se používá v R pro přizpůsobení logistické regrese. Funkce glm () je podobná lm (), ale glm () má některé další parametry. Jeho formát vypadá takto:
glm (X ~ Z1 + Z2 + Z3, family = binomial (link = ”logit”), data = mydata)
X závisí na hodnotách Z1, Z2 a Z3. Což znamená, že Z1, Z2 a Z3 jsou nezávislé proměnné a X je závislá Funkce zahrnuje další rodinu parametrů a má hodnotu binomickou (link = “logit”), což znamená, že linková funkce je logit a rozdělení pravděpodobnosti regresního modelu je binomické.
Předpokládejme, že máme příklad studenta, kde dostane vstup na základě dvou výsledků zkoušky. Soubor dat obsahuje následující položky:
- výsledek _1- výsledek 1
- výsledek _2- Výsledek -2 skóre
- přijat - 1, pokud je přijat, nebo 0, pokud není přijat
V tomto příkladu máme dvě hodnoty 1, pokud student dostal vstup a 0, pokud vstup nedostal. Musíme vygenerovat model, který předpovídá, že student dostal přístup nebo ne,. U daného problému je přijatý považován za závislou proměnnou, zkouška_1 a zkouška_2 jsou považovány za nezávislé proměnné. U tohoto modelu je uveden náš kód R
> Model_1<-glm(admitted ~ result_1 +result_2, family = binomial("logit"), data=data)
Předpokládejme, že máme dva výsledky studenta. Výsledek - 1 65% a výsledek - 2 90%, nyní budeme předpovídat, že student dostane vstupné nebo ne pro odhad pravděpodobnosti získání vstupného, náš R kód je uveden níže:
> in_frame<-data.frame(result_1=65,result_2=90) >predikce (Model_1, in_frame, type = "response") Výstup: 0.9894302
Výše uvedený výstup nám ukazuje pravděpodobnost mezi 0 a 1. Pokud je to pak méně než 0.5 to znamená, že student nedostal vstupné. V tomto stavu bude FALSE. Pokud je větší než 0.5, podmínka bude považována za PRAVDU, což znamená, že student má vstupné. K předpovědi pravděpodobnosti mezi 0 a 1 musíme použít funkci round ().
R kód je uveden níže:
> kulatý (předpovědět (Model_1, in_frame, type = "response")) [/ code] Výstup: 1
Student dostane vstupné, protože výstup je 1. Stejným způsobem můžeme také předpovídat další pozorování.
Použití logistického regresního modelu (skórování) s novými daty
V případě potřeby můžeme model uložit do souboru. R kód pro náš model vlaku bude vypadat takto:
the_model <- glm(my_formula, family=binomial(link='logit'),data=model_set)
Tento model lze uložit pomocí:
uložit (soubor = "název souboru" ,_soubor)
Soubor můžete použít po uložení pomocí tohoto kódu R:
načíst (soubor = "název souboru")
Pro použití modelu pro nová data můžete použít tento řádek kódu:
model_set $ pred <- predict(the_model, newdata=model_set, type="response")
POZNÁMKA: Model_set nelze přiřadit k žádné proměnné. K načtení modelu použijeme funkci load (). Nová pozorování na modelu nic nezmění. Model zůstane stejný. Starý model používáme k vytváření předpovědí o nových datech, aby se v modelu nic nezměnilo.
Závěr
Doufám, že jste viděli, jak programování R funguje základním způsobem a jak se můžete rychle dostat do akce pomocí strojového učení a kódování statistik s R.