Video: Technology Stacks - Computer Science for Business Leaders 2016 2024
Når du bruker R, trenger du noen ganger funksjonen din til å gjøre noe hvis en tilstand er sant og noe annet hvis det er ikke. Du kan gjøre dette med to hvis setninger, men det er en enklere måte i R: en hvis … annet erklæring. En hvis … annet erklæring inneholder de samme elementene som en if-setning (se forrige avsnitt), og deretter litt ekstra:
-
Nøkkelordet ellers, plassert etter den første kodeblokken
-
En annen blokk med kode, som finnes i braces, som skal utføres hvis og bare hvis resultatet av betingelsen i if () erklæringen er FALSK
I noen land er mengden av merverdiavgift (mva) som skal betales, avhengig av om klienten er en offentlig eller privat organisasjon. Tenk på at offentlige organisasjoner må betale Bare 6 prosent mva og private organisasjoner må betale 12 prosent mva. Du kan legge til et ekstra argument offentlig til priceCalculator () func og vedta det som følger for å legge til riktig mengde moms:
hvis (timer> 100) netto. pris <- netto. pris * 0. 9 hvis (offentlig) {tot. pris <- netto. pris * 1. 06} annet {tot. pris <- netto. pris * 1. 12} runde (tot. pris)}
Hvis du sender denne koden til konsollen, kan du teste funksjonen. For eksempel, hvis du jobbet i 25 timer, gir følgende kode deg de forskjellige beløpene du belaster for offentlige og private organisasjoner, henholdsvis: >> prisberegner (25, offentlig = SANN) [1] 1060> prisberegner (25, offentlig = FALSE) [1] 1120
Dette fungerer bra, men hvordan fungerer det?
Hvis setningen trenger en logisk verdi mellom parentesene. Ethvert uttrykk du legger mellom parentesene, blir evaluert før det videreføres til if-setningen. Så, hvis du jobber med en logisk verdi direkte, trenger du ikke å spesifisere et uttrykk i det hele tatt. Bruk, for eksempel, hvis (offentlig = = TRUE) er overflødig.
hvis (offentlig) til. pris <- netto. pris * 1. 06 annet tot. pris <- netto. pris * 1. 12
Å sette den andre setningen på slutten av en linje og ikke begynnelsen på den neste er en god ide.
i en funksjon , og du kilder hele filen samtidig til R. Men du kan gjøre dette kortere. If-setningen fungerer som en funksjon, og dermed returnerer den også en verdi. Som et resultat kan du tilordne den verdien til et objekt eller bruke det i beregninger. Så, i stedet for å beregne netto. pris og tilordne resultatet til tot. pris i kodeblokkene, kan du bruke det hvis … annet utsagn som dette:
R vil først vurdere om … annet erklæring, og multiplisere utfallet med netto. pris. Resultatet av dette er da tildelt til tot. pris. Dette adskiller ikke en iota fra resultatet av de fem kodelinjene vi brukte for originalen hvis … annet erklæring.