Kompilera och köra R från kommandoraden
De två sätten att köra R-program är: ett R-skript, som används allmänt och är mest föredraget och det andra är R CMD BATCH, det är inte ett vanligt kommando. Vi kan ringa dem direkt från kommandoraden eller någon annan jobbschemaläggare.
Du kan tänkbart ringa dessa kommandon från ett skal som är inbyggt i IDE och idag kommer RStudio IDE med verktyg som förbättrar eller hanterar R-skriptet och R CMD BATCH-funktionerna.
source () -funktion inuti R är ett bra alternativ till att använda kommandoraden. Denna funktion kan också anropa ett skript, men för att använda den här funktionen måste du vara inne i R-miljön.
R Språk Inbyggda datasatser
För att lista de datauppsättningar som är inbyggda med R, använd kommandot data (), leta reda på vad du vill och använd namnet på datasetet i data (). Gilla data (funktionsnamn).
Visa datasatser i R
Frågetecknet (?) kan användas för att be om hjälp för datamängder.
För att söka efter allt använd sammanfattning ().
Plot () är också en funktion som används för att plotta diagram.
Låt oss skapa ett testskript och köra det. Skapa p1.R fil och spara den hemkatalogen med följande innehåll:
Kodexempel:
# Enkel hej världskod i R-utskrift ("Hello World!") print (" LinuxHint ") print (5 + 6)
Kör Hello World
R dataramar
För att lagra data i tabeller använder vi en struktur i R som kallas a Dataram. Den används för att lista vektorer med samma längd. Följande variabla nm är till exempel en dataram som innehåller tre vektorer x, y, z:
x = c (2, 3, 5) y = c ("aa", "bb", "cc") z = c (SANT, FALSK, SANT) # nm är en dataram nm = data.ram (n, s, b)
Det finns ett koncept som heter InbyggtDataramar i R också. mtcars är en sådan inbyggd dataram i R, som vi kommer att använda som ett exempel, för vår bättre förståelse. Se koden nedan:
> mtcars mpg cyl disp hp drat wt ... Mazda RX4 21.0 6 160 110 3.90 2.62 ... buss RX4 Wag 21.0 6 160 110 3.90 2.88 ... Datsun 710 22.8 4 108 93 3.85 2.32 ..
mtcars bulitin dataframe
Rubriken är den översta raden i tabellen som innehåller kolumnnamnen. Datarader doneras av varje horisontell linje; varje rad börjar med namnet på raden och sedan följs av de faktiska uppgifterna. Datamedlemmen i en rad benämns som en cell.
Vi skulle ange rad- och kolumnkoordinaterna i en enda fyrkantig parentes "[]" för att hämta data i en cell. För att separera koordinaterna använder vi ett komma. Beställningen är viktig. Koordinaten börjar med rad sedan komma och slutar sedan med kolumnen. Cellvärde 2nd rad och 1st kolumn anges som:
> bilar [2, 2] [1] 6
Vi kan också använda rad- och kolumnnamn istället för koordinater:
> mtcars ["Buss RX4", "mpg"] [1] 6
nrow-funktionen används för att hitta antalet rader i dataramen.
> nrow (mtcars) # antal datarader [1] 32
ncol-funktionen används för att hitta antalet kolumner i en dataram.
> ncol (mtcars) # antal kolumner [1] 11
R Programmeringsslingor
Under vissa förhållanden använder vi slingor när vi vill automatisera någon del av koden eller om vi vill upprepa en sekvens av instruktioner.
För slinga i R
Om vi vill skriva ut information om dessa år mer än en gång.
tryck (klistra in ("Året är", 2000)) "Året är 2000" tryck (klistra in ("Året är", 2001)) "Året är 2001" tryck (klistra in ("Året är", 2002) ) "Året är 2002" tryck (klistra in ("Året är", 2003)) "Året är 2003" tryck (klistra in ("Året är", 2004)) "Året är 2004" tryck (klistra in (" Året är ", 2005))" Året är 2005 "
Istället för att upprepa vårt uttalande om och om igen om vi använder det för loop blir det mycket lättare för oss. Så här:
för (år c (2000,2001,2002,2003,2004,2005)) tryck (klistra in ("Året är", år)) "Året är 2000" "Året är 2001" "Året är 2002 "" Året är 2003 "" Året är 2004 "" Året är 2005 "
Medan Loop in R
medan (uttryck) uttalande
Om resultatet av uttrycket är SANT matas slingans kropp in. Uttalandena inuti slingan utförs och flödet återvänder för att utvärdera uttrycket igen. Slingan upprepar sig tills uttrycket utvärderas till FALSE, i vilket fall slingan avslutas.
Exempel på while Loop:
# i initialiserades initialt till 0 i = 0 medan (i<5) print (i) i=i+1 Output: 0 1 2 3 4
I ovanstående while-loop är uttrycket i<5som mäter att SANT eftersom 0 är mindre än 5. Därför körs slingans kropp och i matas ut och ökas. Det är viktigt att öka i inuti slingan, så det kommer på något sätt att uppfylla villkoret någon gång. I nästa slinga kommer värdet på i är 1 och slingan fortsätter. Det kommer att upprepa sig till i är lika med 5 när villkoret 5<5 reached loop will give FALSE and the while loop will exit.
R-funktioner
Att skapa en fungera vi använder direktivets funktion (). Specifikt är de R-objekt av klass fungera.
f <- function() ##some piece of instructions
Speciellt kan funktioner skickas till andra funktioner eftersom argument och funktioner kan kapslas, så att du kan bestämma en funktion inuti en annan funktion.
Funktioner kan valfritt ha några namngivna argument som har standardvärden. Om du inte vill ha ett standardvärde kan du ställa in värdet på NULL.
Några fakta om R-funktionsargument:
- Argumenten som tillåtits i funktionsdefinitionen är de formella argumenten
- Formalsfunktionen kan ge en lista över alla formella argument för en funktion
- Inte varje funktionsanrop i R använder alla formella argument
- Funktionsargument kan ha standardvärden, eller så kan de saknas
# Definiera en funktion: f <- function (x, y = 1, z = 2, s= NULL)
Skapa en logistisk regressionsmodell med inbyggd datamängd
De glm () funktionen används i R för att passa den logistiska regressionen. glm () -funktionen liknar lm () men glm () har några ytterligare parametrar. Dess format ser ut så här:
glm (X ~ Z1 + Z2 + Z3, familj = binomial (länk = ”logit”), data = mindata)
X är beroende av värdena på Z1, Z2 och Z3. Vilket betyder att Z1, Z2 och Z3 är oberoende variabler och X är beroende Funktionen involverar extra parameterfamilj och den har värde binomial (länk = “logit”) som betyder länkfunktion är logit och sannolikhetsfördelningen för regressionsmodellen är binomial.
Anta att vi har ett exempel på en student där han kommer att få antagning på grundval av två provresultat. Datauppsättningen innehåller följande objekt:
- resultat _1- Resultat-1 poäng
- resultat _2- Resultat -2 poäng
- antagen- 1 om antagen eller 0 om inte antagen
I det här exemplet har vi två värden 1 om en student fick antagning och 0 om han inte fick antagning. Vi måste skapa en modell för att förutsäga att studenten fick antagning eller inte,. För ett givet problem betraktas antagen som en beroende variabel, exam_1 och exam_2 betraktas som oberoende variabler. För den modellen ges vår R-kod
> Model_1<-glm(admitted ~ result_1 +result_2, family = binomial("logit"), data=data)
Låt oss anta att vi har två resultat av eleven. Resultat-1 65% och resultat-2 90%, nu kommer vi att förutsäga att studenten får antagning eller inte för att uppskatta sannolikheten för att studenten får antagning, vår R-kod är enligt nedan:
> in_frame<-data.frame(result_1=65,result_2=90) >förutsäga (Model_1, in_frame, typ = "respons") Utgång: 0.9894302
Ovanstående utdata visar oss sannolikheten mellan 0 och 1. Om det då är mindre än 0.5 det betyder att studenten inte fick antagning. I detta tillstånd är det FALSKT. Om den är större än 0.5, kommer villkoret att betraktas som SANT vilket innebär att studenten har fått antagning. Vi måste använda round () -funktionen för att förutsäga sannolikheten mellan 0 och 1.
R-kod för det är som visas nedan:
> runda (förutsäga (Model_1, in_frame, typ = "respons")) [/ kod] Utgång: 1
En student får inträde eftersom resultatet är 1. Dessutom kan vi också förutsäga andra observationer på samma sätt.
Använda logistisk regressionsmodell (poäng) med nya data
Vid behov kan vi spara modellen i en fil. R-koden för vår tågmodell ser ut så här:
modellen <- glm(my_formula, family=binomial(link='logit'),data=model_set)
Denna modell kan sparas med:
spara (fil = "filnamn", fil_filen)
Du kan använda filen efter att ha sparat den genom att använda den fredskoden för R-koden:
ladda (fil = "filnamn")
För att tillämpa modellen för nya data kan du använda den här raden i en kod:
modell_set $ pred <- predict(the_model, newdata=model_set, type="response")
NOTERA: Model_set kan inte tilldelas någon variabel. För att ladda en modell använder vi funktionsbelastningen (). Nya observationer kommer inte att förändra någonting i modellen. Modellen förblir densamma. Vi använder den gamla modellen för att förutsäga de nya uppgifterna för att inte ändra någonting i modellen.
Slutsats
Jag hoppas att du har sett hur R-programmering fungerar på ett grundläggande sätt och hur du snabbt kan komma till handling genom maskininlärning och statistik kodning med R.