Inhoudsopgave:
Video: J. Krishnamurti - San Diego 1972 - Convers. 2 with E. Schallert - Ending disorder is the ending... 2024
Soms is het handig om te schakelen tussen de mogelijkheden in R. De geneste if … else-instructie is vooral handig als u volledige codeblokken hebt die moeten worden uitgevoerd wanneer aan een voorwaarde is voldaan. Maar als u waarden alleen op basis van een voorwaarde moet selecteren, is er een betere optie: Gebruik de functie switch ().
Maak keuzes met schakelaar
Wanneer u keuzes maakt met schakelen, hebt u een lijst met drie mogelijke keuzes en voor elke keuze heeft u een specifiek BTW-tarief. U kunt de functie switch () als volgt gebruiken:
BTW <- schakeloptie (client, privé = 1. 12, openbaar = 1. 06, in het buitenland = 1)
U bouwt een switch () aan als volgt:
-
Geef een enkele waarde als eerste argument (in dit geval de waarde van de client).
Merk op dat switch () niet is gevectoriseerd, dus het kan vectoren niet verwerken als een eerste argument.
-
Na het eerste argument geeft u een lijst met keuzes met de gerespecteerde waarden.
Merk op dat u geen aanhalingstekens hoeft te plaatsen rond de keuzes.
Houd er rekening mee dat switch () niet op een gevectoriseerde manier werkt. U kunt de keuzes echter gemakkelijker onderscheiden, zodat de code leesbaarder wordt.
Eigenlijk hoeft het eerste argument geen waarde te zijn; het kan een uitdrukking zijn die evalueert naar een tekenvector of naar een getal. Als u met getallen werkt, hoeft u in de functieaanroep zelfs geen choice = waarde te gebruiken. Als u gehele getallen hebt, zet switch () de optie in die positie terug. In de statement switch (2, 'enige waarde', 'iets anders', 'wat meer'), is het resultaat 'iets anders'.
Gebruik standaardwaarden in switch
U hoeft niet alle opties op te geven in een schakeloptie (). Als u een bepaald resultaat wilt hebben in het geval de overeenkomende waarde niet behoort tot de opgegeven opties, zet dat resultaat dan als de laatste optie, zonder enige keuze.
BTW <- schakeloptie (client, privé = 1. 12, openbaar = 1. 06, 1)
U kunt dit eenvoudig testen in de console door een object met de naam client met een bepaalde waarde te maken en vervolgens de switch () aanroepen, zoals in het volgende voorbeeld: >> clientswitch (client, privé = 1. 12, openbaar = 1. 06, 1) [1] 1
U kunt klant verschillende waarden geven om te zien hoe switch () werkt.