Hvordan lage en funksjon i R

August 1  by Eliza

For å opprette en funksjon i R, vil du gjøre og forvandle en R-skript. Den beste måten å lære å svømme er ved å hoppe i den dype enden, så la oss bare skrive en funksjon for å vise deg hvor enkelt det er i R.

Gjøre manuset i R

Anta at du ønsker å presentere brøk tall som prosenter, pent avrundet til én desimal sifret. Her er hvordan man skal oppnå at:

  1. Multiplisere brøk tall med 100.
  2. Runde resultatet med én desimal.

    Du kan bruke round () -funksjonen til å gjøre dette.

  3. Lim inn et prosenttegn etter den avrundede tallet.

    Pastaen () -funksjonen er til tjeneste for å oppfylle denne oppgaven.

  4. Skrive ut resultatet.

    Print () -funksjonen vil gjøre dette.

Du kan enkelt oversette disse trinnene i et lite script for R. Så, åpne en ny skriptfil i din redaktør og skriv inn følgende kode:

x <- c (0,458, 1,6653, 0,83112)
prosent <- runde (x * 100, siffer = 1)
Resultatet <- lim (prosent, "%", sep = "")
print (resultat)

Hvis du lagrer dette skriptet som et skript fil - for eksempel pastePercent.R - du kan nå kalle dette skriptet i konsollen med følgende kommando:

> Kilde ('pastePercent.R')
[1] "45,8%" "166,5%" "83,1%"

Det fungerer utrolig godt, så lenge du ønsker å se de samme tre tall hver gang du kaller skriptet. Men ved hjelp av skriptet for andre data ville være mildt upraktisk, fordi du ville ha til å endre skriptet hver gang.

I RStudio, kan du kilde et skript ved å klikke på Source-knappen eller ved å trykke Ctrl + Shift + Enter.

Forvandle R script

For å gjøre dette skriptet inn en funksjon, må du gjøre et par ting. Se på manuset som en liten fabrikk som tar den rå tallmaterialet og polerer det opp til skinnende prosenter hver matematiker vil begjærer.

Først må du konstruere fabrikkbygningen, fortrinnsvis med en adresse slik at folk ville vite hvor du skal sende sine tall. Da må du installere en front gate slik at du kan få rå tall i. Deretter oppretter du en produksjonslinje for å forvandle disse tallene. Til slutt, må du installere en bakdør slik at du kan sende dine blanke prosenter til verden.

Å bygge din fabrikk, endre manuset til følgende kode:

addPercent <- funksjon (x) {
prosent <- runde (x * 100, siffer = 1)
Resultatet <- lim (prosent, "%", sep = "")
avkastning (resultat)
}

La oss ta en nærmere titt på de ulike delene som utgjør denne lille fabrikken. Funksjonen er opprettet fra følgende elementer:

  • Nøkkelordet funksjonen alltid må etterfølges av parenteser. Det forteller R at hva som kommer etterpå er en funksjon.
  • Parentes etter funksjon danne foran porten, eller argumentliste, av funksjon din. Mellom parentes, er argumentene til funksjonen gitt. I dette tilfellet er det bare ett argument, heter x.
  • Bukseseler, {}, kan ses som veggene i funksjon. Alt mellom bukseseler er en del av samlebåndet, eller kroppen av funksjon.
  • Avkastningen () uttalelsen er bak porten av funksjon din. Objektet du putter mellom parentes er returnert fra innsiden av funksjonen til arbeidsområdet. Du kan sette bare ett objekt mellom parentesene.

Hvis du legger alt dette sammen, får du en komplett funksjon, men R vet ikke hvor du finner den ennå. Du bruker altså oppdraget operatør <- for å sette dette komplett funksjon til et objekt som heter addPercent. Dette er adressen R kan sende tallene til for transformasjon. Nå funksjonen har et fint navn, og er klar til bruk.