Het schakelen tussen de mogelijkheden met If ... Else Verklaringen in R

Soms is het nuttig om te schakelen tussen de mogelijkheden in R. De geneste if ... else is vooral handig als u de volledige code blokken die moeten worden uitgevoerd wanneer een voorwaarde wordt voldaan. Maar als je nodig hebt om de waarden alleen op basis van een voorwaarde te selecteren, er is een betere optie: Gebruik de schakelaar () functie.

Keuzes maken met schakelaar

Bij het maken van keuzes met schakelaar, heb je een lijst van drie mogelijke keuzes, en voor elke keuze die je hebt een specifieke btw-tarief. U kunt de schakelaar () functie gebruiken als dit:

BTW <- schakelaar (client, privé = 1,12, openbare = 1,06, buitenland = 1)

Construeer je een schakelaar () oproep als volgt:

  1. Geef één waarde als eerste argument (in dit geval de waarde van client).

    Merk op dat de schakelaar () is niet gevectoriseerd, zodat het niet kan omgaan met vectoren als eerste argument.

  2. Na het eerste argument, geeft u een lijst van keuzes met de gerespecteerde waarden.

    Merk op dat je niet hoeft te aanhalingstekens om de keuzes te zetten.

Vergeet niet dat de schakelaar () werkt niet in een gevectoriseerd manier. U kunt de keuzes makkelijker te onderscheiden, echter, dus de code wordt meer leesbaar.

In feite is het eerste argument niet een waarde; het kan enige expressie die ofwel een teken vector of een getal zijn. In het geval dat u werkt met getallen, hoef je niet eens te kiezen = waarde gebruiken in de functie aanroep. Als je gehele getallen, zal schakelaar () de optie in die positie terug. In de verklaring schakelaar (2, 'enige waarde', 'iets anders', 'wat meer'), het resultaat is 'iets anders'.

Gebruik standaardwaarden in schakelaar

Je hoeft niet alle opties op te geven in een switch () call. Als u wilt om een ​​bepaald resultaat in het geval de geëvenaard waarde niet onder de gespecificeerde opties hebben, zet dat resultaat als de laatste optie, zonder enige keuze.

BTW <- schakelaar (client, privé = 1,12, openbare = 1,06, 1)

U kunt eenvoudig testen deze in de console door een object genaamd cliënt met een bepaalde waarde en dan bereikt de schakelaar () call, zoals in het volgende voorbeeld:

> Client <- 'andere'
> Schakelaar (client, privé = 1,12, openbare = 1,06, 1)
[1] 1

U kunt de klant verschillende waarden geven om te zien hoe switch () werkt.