Innehållsförteckning:
Video: Stärkt ställning och bättre levnadsvillkor för transpersoner 2024
Ibland är det användbart att byta mellan möjligheter i R. Den nestade om … annat är särskilt användbart om du har fullständiga kodblock som måste utföras när ett villkor är uppfyllt. Men om du behöver välja värden baserade bara på ett villkor, finns det ett bättre alternativ: Använd funktionen switch ().
Gör val med switch
När du väljer val med växel har du en lista med tre möjliga val och för varje val har du en specifik moms. Du kan använda funktionen switch () som denna:
Moms <- switch (klient, privat = 1, 12, allmän = 1, 06, utomlands = 1)
Du konstruerar en switch () -samtal enligt följande:
-
Ge en singel -värdet som det första argumentet (i detta fall värdet av klienten).
Observera att switch () inte är vektoriserad, så det kan inte hantera vektorer som ett första argument.
-
Efter det första argumentet ger du en lista över val med de respekterade värdena.
Observera att du inte behöver lägga anteckningar om valen.
Kom ihåg att switch () inte fungerar på ett vektoriserat sätt. Du kan emellertid lättare särskilja valen, så koden blir mer läsbar.
Faktum är att det första argumentet inte behöver vara ett värde; det kan vara något uttryck som utvärderar till antingen en teckenvektor eller ett tal. Om du arbetar med siffror behöver du inte ens välja = värde i funktionssamtalet. Om du har heltal kommer omkopplaren () att returnera alternativet i den positionen. I uttalandet switch (2, "något värde", "någonting annat", "lite mer") är resultatet "något annat".
Använd standardvärden i switch
Du behöver inte ange alla alternativ i ett switch () -samtal. Om du vill ha ett visst resultat om det matchade värdet inte är bland de angivna alternativen, sätt det resultatet som det sista alternativet, utan val.
Moms <- switch (klient, privat = 1, 12, offentlig = 1, 06, 1)
Du kan enkelt testa detta i konsolen genom att skapa ett objekt som kallas klient med ett visst värde och sedan köra switch (), som i följande exempel: >> klientomkopplare (klient, privat = 1, 12, allmän = 1, 06, 1) [1] 1
Du kan ge klientens olika värden för att se hur switch () fungerar.