Video: 3 Arguments Why Marijuana Should Stay Illegal Reviewed 2024
Er zijn meerdere manieren om argumenten toe te voegen in R. De functie addPercent () rond elk percentage naar een decimaal, maar je kunt een ander argument toevoegen om op te geven het aantal cijfers dat de functie round () moet gebruiken op dezelfde manier als u kunt voor het mult-argument. Als je veel argumenten hebt die je doorgeeft aan andere functies in het lichaam, heb je misschien een lange lijst met argumenten.
R heeft hiervoor een geniale oplossing: het punt (…) argument. Je kunt het puntjesargument zien als een extra poort in je kleine functie. Via die poort laat je extra hulpbronnen (argumenten) direct op de juiste plek in de productielijn (de body) vallen zonder dat je alles hoeft te controleren bij de hoofdingang.
Normaal gesproken gebruik je het puntjesargument door het aan het einde van de argumentlijst van je eigen functie toe te voegen en aan het einde van de argumenten voor de functie waar je argumenten door wilt geven.
Om een argument door te geven aan de functie round () in de body van addPercent, past u de code van de laatste als volgt aan:
addPercent <- function (x, mult = 100, …) {percent <- round (x * mult, …) paste (%, "%", sep = ")}
Nu kunt u het cijferargument voor de ronde () functie in de addPercent () aanroep als volgt specificeren:
U hoeft geen enkel argument op te geven als de functie waarvoor u de argumenten doorgeeft dit niet vereist. U kunt de functie addPercent () als volgt gebruiken: >>> addPercent (nieuwe. Nummers) [1] "82%" "2%" "162%" "40%"
Merk op dat het resultaat niet hetzelfde is zoals het vroeger was. De getallen zijn afgerond op gehele getallen en niet op het eerste decimaalteken.
Als u geen argument opgeeft in plaats van de stippen, is de functie de argumenten worden doorgegeven om hun eigen standaardwaarden te gebruiken.Als u verschillende standaardwaarden wilt opgeven, moet u een specifiek argument aan de argumentlijst toevoegen in plaats van de punten te gebruiken.
addPercent <- functie (x, mult = 100, cijfers = 1) {percent <- round (x * mult, digits = cijfers) paste (%, "%", sep = ")}
U hoeft het argument in de argumentlijst niet dezelfde naam te geven als het argument gebruikt door ronde (). U kunt elke gewenste naam gebruiken, zolang u deze maar op de juiste plaats in het lichaam plaatst. Als u echter namen kunt gebruiken voor argumenten die ook worden gebruikt door native functies binnen R, kunnen mensen gemakkelijker begrijpen wat het argument doet zonder naar de broncode te hoeven kijken.
R zal niet klagen als je het puntjesargument gebruikt in meer dan één functie in het lichaam, maar voordat je argumenten doorgeeft aan meer dan één functie in het lichaam, moet je zeker weten dat dit gewonnen is ' Geen problemen veroorzaken. R geeft
alle
extra argumenten door aanelke functie, en - als je geluk hebt - klaagt daarna over de resulterende puinhoop.