Video: Slik bruker du kart og kompass 2024
Det er flere måter å legge til argumenter i R. Funksjonen addPercent () runder hver prosent til en desimal, men du kan legge til et annet argument for å spesifisere Antall siffer som runde () -funksjonen skal bruke på samme måte som mulig for multargumentet. Hvis du har mange argumenter du sender videre til andre funksjoner i kroppen, kan du ha en lang liste med argumenter.
R har en geni løsning for dette: prikkene (…) argumentet. Du kan se prikkargumentet som en ekstra port i din lille funksjon. Gjennom den porten slipper du ytterligere ressurser (argumenter) umiddelbart på rett sted i produksjonslinjen (kroppen) uten å måtte sjekke alt ved hovedporten.
Du bruker normalt prikkargumentet ved å legge det til i slutten av argumentlisten over din egen funksjon og på slutten av argumentene for funksjonen du vil sende argumenter til.
For å passere noe argument til funksjonen runde () i kroppen til addPercent, tilpasser du koden til sistnevnte som følger:
addPercent <- funksjon (x, mult = 100, …) {prosent <- runde (x * mult, …) lim (prosent, "%", sep = ")}
Nå kan du angi sifferargumentet for rundefunksjonen () i addPercent () -samtalen som denne:
Du må ikke angi noe argument hvis funksjonen du overfører argumenter, ikke krever det. Du kan bruke funksjonen addPercent () som før: >>> addPercent (nytt nummer) [1] "82%" "2%" "162%" "40%"
Legg merke til at utfallet ikke er det samme som det pleide å være. Tallene er avrundet til heltall og ikke til første desimal.
Hvis du ikke angir et argument i stedet for punktene, Argumentene overføres til å bruke sine egne standardverdier. Hvis du vil angi forskjellige standardverdier, må du legge til et bestemt argument i argumentlisten i stedet for å bruke prikkene.
addPercent <- funksjon (x, mult = 100, siffer = 1) {prosent <- runde (x * mult, siffer = siffer) lim inn (prosent, "%", sep = ")}
Du trenger ikke å gi argumentet i argumentlisten samme navn som argumentet brukt av runde (). Du kan bruke hvilket som helst navn du vil ha, så lenge du plasserer den i riktig posisjon i kroppen. Men hvis du kan bruke navn på argumenter som også brukes av innfødte funksjoner i R, blir det lettere for folk å forstå hva argumentet gjør uten å måtte se på kildekoden.
R vil ikke klage hvis du bruker prikkargumentet i mer enn én funksjon i kroppen, men før du overfører argumenter til mer enn én funksjon i kroppen, må du være sikker på at dette vant ' Ikke forårsake problemer. R overfører
alle
ekstra argumenter tilhver -funksjon, og - hvis du er heldig - klager over det resulterende rotet etterpå.