R Programmeringsopplæring

R Programmeringsopplæring
Du vil for nybegynner til ekspert R -programmerer raskt? R er et det beste programmeringsspråket for arbeid med statistikk, matematikk og datavitenskap. Denne opplæringen vil hjelpe deg å lære R og bygge din første maskinlæringsmodell. La oss komme i gang.

Sammen sammenstille og kjøre R fra kommandolinjen

De to måtene å kjøre R -programmene på er: et R -skript, som er mye brukt og er mest foretrukket, og den andre er R CMD -batch, det er ikke en ofte brukt kommando. Vi kan ringe dem direkte fra kommandolinjen eller en hvilken som helst annen jobbplanlegging.

Du kan tenkes å kalle disse kommandoene fra et skall innebygd i IDE, og i dag kommer RStudio IDE med verktøy som forbedrer eller administrerer R -skriptet og R CMD -batchfunksjonene.

Kilde () -funksjonen i R er et godt alternativ til å bruke kommandolinjen. Denne funksjonen kan også kalle et skript, men for å bruke denne funksjonen, må du være i R -miljøet.

R Språk innebygde datasett

For å liste opp datasettene som er innebygd med R, bruker du Data () -kommandoen, og finn deretter hva du vil, og bruk navnet på datasettet i data () -funksjonen. Som data (funksjonsnavn).

Vis datasett i r

Spørsmålstegnet (?) kan brukes til å be om hjelp til datasett.

For å se etter alt bruker sammendrag ().

Plot () er også en funksjon som brukes til å plotte grafer.

La oss lage et testskript og kjøre det. Skape P1.R fil og lagre den hjemmekatalogen med følgende innhold:

Kodeeksempel:

 # Enkelt hallo verdenskode i R -utskrift ("Hello World!") Print (" Linuxhint ") Print (5+6) 

Løper Hello World

R datarammer

For lagring av data i tabeller bruker vi en struktur i R kalt a Dataramme. Det brukes til å liste opp vektorer med lik lengde. Følgende variabel NM er for eksempel en dataramme som inneholder tre vektorer x, y, z:

x = c (2, 3, 5) y = c ("aa", "bb", "cc") z = c (sann, falsk, sant) # nm er en dataramme nm = data.ramme (n, s, b) 

Det er et konsept som heter InnebygdDatarammer i R også. Mtcars er en slik innebygd dataramme i R, som vi vil bruke som eksempel, for vår bedre forståelse. Se koden nedenfor:

 > Mtcars MPG Cyl Disp HP DRAT WT… Mazda RX4 21.0 6 160 110 3.90 2.62… BUS 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

Overskriften er topplinjen i tabellen som inneholder kolonnenavn. Datarader blir gitt av hver horisontale linje; Hver linje starter med navnet på raden og etterfulgt av de faktiske dataene. Datamedlemmet til en rad betegnes som en celle.

Vi vil legge inn rad- og kolonnekoordinater i en enkelt firkantet brakett '[]' operatør for å hente data i en celle. For å skille koordinatene bruker vi et komma. Bestillingen er viktig. Koordinaten begynner med rad og deretter komma og slutter deretter med kolonnen. Celleverdi på 2nd rad og 1st kolonnen er gitt som:

 > Mtcars [2, 2] [1] 6 

Vi kan også bruke rad- og kolonnenavn i stedet for koordinater:

 > Mtcars ["Bus RX4", "MPG"] [1] 6 

NROW -funksjon brukes til å finne antall rader i datarammen.

 > nrow (mtcars) # Antall datrader [1] 32 

NCOL -funksjon brukes til å finne antall kolonner i en dataramme.

 > NCOL (mtcars) # Antall kolonner [1] 11 

R Programmeringssløyfer

Under noen forhold bruker vi løkker når vi ønsker å automatisere en del av koden, eller vi vil gjenta en instruksjonssekvens.

For sløyfe i r

Hvis vi ønsker å skrive ut disse årene informasjon mer enn en gang.

 Print (Paste ("The Year Is", 2000)) "Året er 2000" Print (Paste ("The Year Is", 2001)) "Året IS 2001" Print (Paste ("The Year Is", 2002) ) "Året er 2002" Print (Paste ("The Year Is", 2003)) "Året er 2003" Print (Paste ("The Year Is", 2004)) "Året er 2004" Print (Paste (" Året er ", 2005))" Året er 2005 " 

I stedet for å gjenta uttalelsen vår igjen og igjen hvis vi bruker til sløyfe det vil være mye lettere for oss. Som dette:

 for (år i C (2000.2001.2002.2003.2004.2005)) Print (Paste ("Året er", år)) "Året er 2000" "Året er 2001" "året er 2002 "" Året er 2003 "" Året er 2004 "" Året er 2005 " 

Mens du er sløyfe

 mens (uttrykk) uttalelse 

Hvis resultatet av uttrykk er sant, legges kroppens kropp. Uttalelsene inne i løkken utføres, og strømmen kommer tilbake for å vurdere uttrykket igjen. Løyfen vil gjenta seg til uttrykket evaluerer til falsk, i hvilket tilfelle sløyfen går ut.

Eksempel på mens Loop:

 # Jeg initialiseres opprinnelig til 0 i = 0 mens (i<5)  print (i) i=i+1  Output: 0 1 2 3 4 

I det ovennevnte mens Loop er uttrykket Jeg<5som måler til sant siden 0 er mindre enn 5. Derfor utføres kroppen av sløyfen, og Jeg er output og økt. Det er viktig å øke Jeg Inne i sløyfen, så det på en eller annen måte vil møte tilstanden på et tidspunkt. I neste sløyfe, verdien av Jeg er 1, og sløyfen fortsetter. Det vil gjenta seg til Jeg tilsvarer 5 når tilstanden 5<5 reached loop will give FALSE and the while loop will exit.

R funksjoner

Å lage en funksjon Vi bruker direktivfunksjon (). Spesielt er de R -objekter for klassen funksjon.

f <- function()  ##some piece of instructions  

Spesielt kan funksjoner overføres til andre funksjoner da argumenter og funksjoner kan bli nestet, for å la deg bestemme en funksjon inne i en annen funksjon.

Funksjoner kan eventuelt ha noen navngitte argumenter som har standardverdier. Hvis du ikke vil ha en standardverdi, kan du angi verdien til NULL.

Noen fakta om R -funksjonsargumenter:

  • Argumentene innrømmet i funksjonsdefinisjonen er de formelle argumentene
  • Formals -funksjonen kan gi tilbake en liste over alle formelle argumenter for en funksjon
  • Ikke alle funksjonsanrop i R bruker alle de formelle argumentene
  • Funksjonsargumenter kan ha standardverdier, eller de kan mangle
#Definering av en funksjon: f <- function (x, y = 1, z = 2, s= NULL)   

Opprette en logistisk regresjonsmodell med innebygd datasett

De GLM () Funksjon brukes i R for å passe til den logistiske regresjonen. GLM () -funksjonen ligner på LM (), men GLM () har noen tilleggsparametere. Formatet ser slik ut:

 GLM (X ~ Z1+Z2+Z3, familie = binomial (link = ”logit”), data = myData) 

X er avhengig av verdiene til Z1, Z2 og Z3. Som betyr at Z1, Z2 og Z3 er uavhengige variabler og X er den avhengige funksjonen innebærer ekstra parameterfamilie og den har verdi binomial (link = “logit”) som betyr at koblingsfunksjon er logit og sannsynlighetsfordelingen av regresjonsmodell er binomial.

Anta at vi har et eksempel på student der han vil få opptak på grunnlag av to eksamensresultater. Datasettet inneholder følgende elementer:

  • Resultat _1- Resultat-1 poengsum
  • Resultat _2- Resultat -2 poengsum
  • innrømmet- 1 hvis innrømmet eller 0 hvis ikke innrømmet
  • I dette eksemplet har vi to verdier 1 hvis en student fikk opptak og 0 hvis han ikke fikk opptak. Vi må generere en modell for å forutsi at studenten fikk opptak eller ikke,. For et gitt problem blir innrømmet anses som en avhengig variabel, eksamen_1 og eksamen_2 blir betraktet som uavhengige variabler. For den modellen er vår R -kode gitt

     > Modell_1<-glm(admitted ~ result_1 +result_2, family = binomial("logit"), data=data) 

    La oss anta at vi har to resultater av studenten. Resultat-1 65% og resultat-2 90%, nå vil vi forutsi at studenten får opptak eller ikke for å estimere sannsynligheten for at studenten skal få opptak vår R-kode er som nedenfor:

     > in_framepredict (modell_1, in_frame, type = "respons") utgang: 0.9894302 

    Ovennevnte utgang viser oss sannsynligheten mellom 0 og 1. Hvis det er mindre enn 0.5 Det betyr at studenten ikke fikk opptak. I denne tilstanden vil det være falskt. Hvis det er større enn 0.5, vil tilstanden bli betraktet som sann, noe som betyr at studenten har fått opptak. Vi må bruke rund () -funksjon for å forutsi sannsynlighet mellom 0 og 1.

    R -kode for det er som vist nedenfor:

     > runde (forutsi (modell_1, in_frame, type = "respons")) [/kode] Output: 1 

    En student vil få opptak ettersom produksjonen er 1. Videre kan vi også forutsi for andre observasjoner på samme måte.

    Bruke logistisk regresjonsmodell (scoring) med nye data

    Når det er nødvendig, kan vi lagre modellen i en fil. R -kode for vår togmodell vil se slik ut:

     modellen <- glm(my_formula, family=binomial(link='logit'),data=model_set) 

    Denne modellen kan lagres med:

     lagre (fil = "filnavn", the_file) 

    Du kan bruke filen etter å ha lagret IT, ved å bruke den freden i R -koden:

     Last (fil = "filnavn") 

    For å bruke modellen for nye data kan du bruke denne linjen i en kode:

     Model_set $ pred <- predict(the_model, newdata=model_set, type="response") 

    MERK: Model_set kan ikke tilordnes noen variabel. For å laste en modell vil vi bruke funksjonsbelastningen (). Nye observasjoner vil ikke endre noe i modellen. Modellen vil forbli den samme. Vi bruker den gamle modellen for å komme med spådommer om de nye dataene for ikke å endre noe i modellen.

    Konklusjon

    Jeg håper du har sett hvordan R -programmering fungerer på en grunnleggende måte og hvordan du raskt kan komme i handling for å gjøre maskinlæring og statistikk koding med r.