Indholdsfortegnelse:
Video: The PHENOMENON BRUNO GROENING – documentary film – PART 2 2025
Til tider er det nyttigt at skifte mellem muligheder i R. Den indlejrede hvis … ellers er særligt nyttig, hvis du har komplette kodeblokke, der skal udføres, når en betingelse er opfyldt. Men hvis du skal vælge værdier baseret kun på en tilstand, er der en bedre mulighed: Brug funktionen switch ().
Vælg valg med switch
Når du vælger valg med switch, har du en liste over tre mulige valg, og for hvert valg har du en specifik moms. Du kan bruge funktionen switch () som denne:
Moms <- switch (klient, privat = 1. 12, offentlig = 1. 06, i udlandet = 1)
Du konstruerer en switch () opkald som følger:
-
Giv en single værdi som det første argument (i dette tilfælde værdien af klienten).
Bemærk, at switch () ikke er vektoriseret, så det ikke kan behandle vektorer som et første argument.
-
Efter det første argument giver du en liste over valg med de respekterede værdier.
Bemærk, at du ikke behøver at sætte citatmærker rundt om valgene.
Husk at switch () ikke virker på en vektoriseret måde. Du kan imidlertid skelne mellem valgene lettere, så koden bliver mere læsbar.
Faktisk behøver det første argument ikke at være en værdi; det kan være noget udtryk, der vurderer til enten en tegnvektor eller et tal. Hvis du arbejder med tal, behøver du ikke engang at bruge valg = værdi i funktionsopkaldet. Hvis du har heltal, vil switch () returnere indstillingen i den pågældende position. I sætningen skiftes (2, 'nogle værdi', 'noget andet', 'nogle mere'), resultatet er 'noget andet'.
Brug standardværdier i switch
Du behøver ikke at angive alle indstillinger i et switch () -opkald. Hvis du vil have et bestemt resultat, hvis den matchede værdi ikke er blandt de angivne muligheder, skal du sætte resultatet som sidste mulighed uden valg.
Moms <- switch (klient, privat = 1, 12, offentlig = 1, 06, 1)
Du kan nemt teste dette ud i konsollen ved at oprette et objekt kaldet klient med en bestemt værdi og derefter køre switch (), som i følgende eksempel: >> klientkontakt (klient, privat = 1, 12, offentlig = 1, 06, 1) [1] 1
Du kan give klientens forskellige værdier for at se, hvordan switch () fungerer.