Innholdsfortegnelse:
- Gjør skriptet
- For å gjøre dette skriptet til en funksjon, må du gjøre noen ting. Tenk på manuset som en liten fabrikk som tar det rå numeriske materialet og polerer det til skinnende prosentandeler hver matematiker vil kreve.
Video: Central Nervous System: Crash Course A&P #11 2024
Å gå fra et skript til en funksjon tar ikke mye innsats i det hele tatt. I R er en funksjon i hovedsak et stykke kode som utføres etter hverandre og uten avbrudd. På den måten varierer en funksjon ikke så mye fra et skriptløp ved hjelp av kilden () -funksjonen.
Men en funksjon har to veldig gode fordeler over skript:
-
Funksjoner kan fungere med variabel inngang, så du bruker den med forskjellige data.
-
Funksjoner returnerer utgangen som et objekt, slik at du kan arbeide med resultatet av den funksjonen.
Den beste måten å lære å svømme på er å hoppe i den dype enden, så neste skriver du en funksjon for å se hvor lett dette er i R.
Gjør skriptet
Anta at du vil presentere brøkdelte tall (for eksempel 1/2) som prosenter, pent avrundet til ett desifrasyke. Slik oppnår du det:
-
Multipliser de brøkdelene med 100.
-
Rundt resultatet til en desimal.
Du kan bruke rundefunksjonen () til å gjøre dette.
-
Lim inn et prosentskilt etter det avrundede nummeret.
Funksjonen pasta () er til din tjeneste for å oppfylle denne oppgaven.
-
Skriv ut resultatet.
Funksjonen print () gjør dette.
Du kan enkelt oversette disse trinnene til et lite skript for R. Så åpne en ny skriptfil i editoren din og skriv inn følgende kode:
x <- c (0, 458, 1. 6653, 0. 83112) prosent <- runde (x * 100, siffer = 1) resultat <- lime (prosent, "%" sep = "") print (result)
Hvis du lagrer dette skriptet som en skriptfil - for eksempel, pastePercent. R - du kan nå ringe dette skriptet i konsollen med følgende kommando: >> kilde ("pastePercent. R") [1] "45. 8% "" 166. 5% "" 83. 1% "
Det fungerer fantastisk, så lenge du vil se de samme tre tallene hver gang du ringer på skriptet. Men å bruke skriptet for andre data ville være mildt ubeleilig, fordi du måtte endre skriptet hver gang.
I de fleste redaktører kan du også
kilde et skript (send en komplett skriptfil til R-konsollen) med ett enkelt klikk. I RStudio gjøres dette ved å klikke Kilde-knappen eller ved å trykke Ctrl + Shift + S for innhenting uten ekko, og Ctrl + Shift + Enter for sourcing med ekko. Transformere skriptet
For å gjøre dette skriptet til en funksjon, må du gjøre noen ting. Tenk på manuset som en liten fabrikk som tar det rå numeriske materialet og polerer det til skinnende prosentandeler hver matematiker vil kreve.
Først må du bygge fabrikkbygningen, helst med en adresse slik at folk vil vite hvor de skal sende tallene sine.Deretter må du installere en frontport slik at du kan få rånumrene inn. Deretter lager du produksjonslinjen for å transformere disse tallene. Til slutt må du installere en bakgate slik at du kan sende dine skinnende prosentandeler inn i verden.
For å bygge fabrikken din, endre skriptet til følgende kode:
addPercent <- funksjon (x) {prosent <- runde (x * 100, siffer = 1) resultat <- lim inn, sep = "") returnere (resultat)}
Ta en nærmere titt på de forskjellige delene som utgjør denne lille fabrikken. Funksjonen har følgende elementer:
Søkeordfunksjonen må alltid etterfølges av parenteser. Det forteller R at det som kommer neste er en funksjon.
-
Parametrene etter funksjonen danner frontporten, eller
-
argumentliste, av funksjonen din. Mellom parentesene er argumentene til funksjonen gitt. I dette tilfellet er det bare ett argument, kalt x. Braces, {}, kan ses som veggene til funksjonen din. Alt mellom braces er en del av forsamlingslinjen, eller
-
kroppen av funksjonen din. Avkastningen () er bakgaten til din funksjon. Objektet du legger mellom parentesene, returneres fra innsiden av funksjonen til arbeidsområdet. Du kan sette bare ett objekt mellom parentesene.
-
Hvis du legger alt sammen, får du en fullstendig funksjon, men R vet ikke hvor du skal finne den ennå. Så bruker du oppdragsoperatøren <- for å sette denne komplette funksjonen inn i et objekt som heter addPercent. Dette er adressen R kan sende tall til for transformasjon. Nå har funksjonen et fint navn og er klar til bruk.
Du kan ikke spesifisere i argumentlisten at x skal være en numerisk vektor. Hvis du for eksempel prøver å bruke en tegnvektor som en verdi for x, vil multiplikasjonen inne i kroppen kaste en feil fordi du ikke kan formere tegn med et tall. Hvis du vil kontrollere hvilken type objekt som er gitt som et argument, må du gjøre det manuelt, i funksjonens kropp.