Video: Introduction to Astronomy: Crash Course Astronomy #1 2025
Hvis sætninger kan være meget nyttige i R, som de er i et hvilket som helst programmeringssprog,. Ofte vil du træffe valg og handle efter en bestemt værdi.
At definere et valg i din kode er ret simpelt: Hvis denne betingelse er sand, skal du udføre en bestemt opgave. Mange programmeringssprog gør det muligt at gøre det med præcis disse ord: hvis … da. R gør det endnu nemmere: Du kan tabe ordet derefter og angive dit valg i en if-sætning.
En if-sætning i R består af tre elementer:
-
Nøgleordet hvis
-
En enkelt logisk værdi mellem parenteser (eller et udtryk der fører til en enkelt logisk værdi)
-
A kode kode mellem seler, der skal udføres, når den logiske værdi er SAND
Her er en meget lille funktion, priceCalculator (), der beregner den pris, du opkræver for en kunde, baseret på arbejdstiden du gjorde for den kunde. Funktionen skal tage antallet af timer (timer) og prisen pr. Time (pph) som input. Funktionen priceCalculator () kan være sådan som denne:
priceCalculator <- funktion (timer, pph = 40) {net. pris <- timer * pph runde (netto. pris)}
Her er hvad denne kode gør:
-
Med funktionens søgeord definerer du funktionen.
-
Alt mellem bøjlerne er funktionens krop (se kapitel 8).
-
Mellem parenteserne angiver du argumenternes timer (uden en standardværdi) og pph (med en standardværdi på $ 40 pr. Time).
-
Du beregner nettoprisen ved at gange gange med pph.
-
Resultatet af den sidste sætning i krop af din funktion er den returnerede værdi. I dette tilfælde er dette den samlede pris afrundet til dollaren.
Du kunne tabe argumentet pph og blot gange gange med 40. Men det ville betyde, at hvis din kollega f.eks. Bruger en anden timepris, skal han ændre værdien i funktionens krop for at kunne bruge det. Det er god kodningspraksis at bruge argumenter med standardværdier for enhver værdi, der kan ændre sig. Det gør en funktion mere fleksibel og brugbar.
Forestil dig nu, at du har nogle store kunder, der giver dig meget arbejde. For at holde dem glade, beslutter du at give dem en reduktion på 10 procent på prisen pr. Time for ordrer, der involverer mere end 100 timers arbejde. Så hvis antallet af arbejdede timer er større end 100, beregner du den nye pris ved at gange prisen med 0. 9.
Du kan skrive det næsten bogstaveligt i din kode som denne:
priceCalculator <- funktion (timer, pph = 40) {net. pris 100) {netto. pris <- netto.pris * 0. 9} runde (netto. pris)}
Kopier denne kode i en script fil, og send den til konsollen for at gøre den tilgængelig til brug. Hvis du prøver denne funktion, kan du se, at reduktionen kun gives, når antallet af timer er større end 100: >> prisberegner (timer = 55) [1] 2200> prisberegner (timer = 110) [1] 3960
Denne konstruktion er den mest generelle måde, du kan angive en if-sætning. Men hvis du kun har en kort kodelinje i kodeblokken, behøver du ikke at sætte seler rundt om den. Du kan ændre den komplette if-sætning i funktionen med følgende linje:
hvis (timer> 100) net. pris <- netto. pris * 0. 9
Den sædvanlige måde at få hjælp på en funktion kaldet for eksempel sjov. navn (? sjovt navn) virker ikke for hvis. For at få adgang til den indbyggede hjælp til, hvis du skal citere funktionsnavnet. Du kan bruge single citater, dobbelt citater eller backticks. Hvert af de følgende udsagn tager dig til Hjælp-siden for, hvis:
? 'Hvis'? "Hvis"? 'Hvis'