Video: Technology Stacks - Computer Science for Business Leaders 2016 2024
Hvis setninger kan være svært nyttige i R, som de er i et hvilket som helst programmeringsspråk,. Ofte vil du foreta valg og ta handlingen avhengig av en bestemt verdi.
Definere et valg i koden din er ganske enkelt: Hvis denne tilstanden er sant, så utfør en bestemt oppgave. Mange programmeringsspråk lar deg gjøre det med akkurat disse ordene: hvis … da. R gjør det enda enklere: Du kan slippe ordet da og angi ditt valg i en if-setning.
En om setning i R består av tre elementer:
-
Søkeordet hvis
-
En enkelt logisk verdi mellom parenteser (eller et uttrykk som fører til en enkelt logisk verdi)
-
A kodeboks mellom bånd som skal utføres når den logiske verdien er SANN
Her er en veldig liten funksjon, priceCalculator (), som beregner prisen du belaster for en kunde basert på arbeidstiden du gjorde for den kunden. Funksjonen skal ta antall timer (timer) og prisen per time (pph) som inngang. Funksjonen priceCalculator () kan være noe slikt:
priceCalculator <- funksjon (timer, pph = 40) {netto. pris <- timer * pph runde (netto. pris)}
Her er hva denne koden gjør:
-
Med funksjonsnavnet definerer du funksjonen.
-
Alt mellom bøylene er funksjonens kropp (se kapittel 8).
-
Mellom parentesene angir du argumenttidene (uten en standardverdi) og pph (med en standardverdi på $ 40 per time).
-
Du beregner nettoprisen ved å multiplisere timer med pph.
-
Resultatet av den siste setningen i funksjonens kropp er den returnerte verdien. I dette tilfellet er dette den totale prisen avrundet til dollaren.
Du kan slippe argumentet pph og bare multiplisere timer med 40. Men det vil bety at hvis din kollega bruker en annen timepris, må han for eksempel endre verdien i funksjonens kropp for å kunne bruke den. Det er god kodingspraksis å bruke argumenter med standardverdier for enhver verdi som kan endres. Å gjøre det gjør en funksjon mer fleksibel og brukbar.
Forestill deg at du har noen store kunder som gir deg mye arbeid. For å holde dem lykkelige, bestemmer du deg for å gi dem en reduksjon på 10 prosent på prisen per time for bestillinger som involverer mer enn 100 timers arbeid. Så hvis antall arbeidstimer er større enn 100, beregner du den nye prisen ved å multiplisere prisen med 0. 9.
Du kan skrive det nesten bokstavelig talt i koden din slik:
priceCalculator <- funksjon (timer, pph = 40) {netto. pris 100) {netto. pris <- netto.pris * 0. 9} runde (netto. pris)}
Kopier denne koden i en skriptfil, og send den til konsollen for å gjøre den tilgjengelig for bruk. Hvis du prøver denne funksjonen, kan du se at reduksjonen bare er gitt når antall timer er større enn 100: >> prisberegner (timer = 55) [1] 2200> prisberegner (timer = 110) [1] 3960
Denne konstruksjonen er den mest generelle måten du kan angi en if-setning. Men hvis du bare har en kort linje med kode i kodeblokken, trenger du ikke å sette braces rundt den. Du kan endre hele setningen i funksjonen med følgende linje:
hvis (timer> 100) netto. pris <- netto. pris * 0. 9
Den vanlige måten å få hjelp på en funksjon som heter, for eksempel moro. navn (? moro. navn) virker ikke for hvis. For å få tilgang til den innebygde hjelpen for hvis, må du sitere funksjonsnavnet. Du kan bruke enkle anførselstegn, dobbelt anførselstegn eller backticks. Hvert av de følgende uttalelsene tar deg til Hjelp-siden for hvis:
? 'Hvis'? "Hvis"? 'Hvis'