Come passare tra le possibilità con Se ... Else in R

A volte, è utile passare possibilità in R. Il annidati if ... else è particolarmente utile se si dispone di blocchi di codice completo che devono essere eseguiti quando la condizione è soddisfatta. Ma se è necessario selezionare i valori in base solo a una condizione, c'è una soluzione migliore: Utilizzare la funzione di interruttore ().

Fare scelte con l'interruttore

Quando si effettuano scelte con interruttore, si dispone di una lista di tre scelte possibili, e per ogni scelta che avere un tasso di IVA specifico. È possibile utilizzare la funzione di commutazione () in questo modo:

IVA <- interruttore (client, privato = 1.12, pubblica = 1.06, all'estero = 1)

Si costruisce un interruttore () chiamata come segue:

  1. Dare un singolo valore come primo argomento (in questo caso, il valore di client).

    Si noti che l'interruttore () non è vettorializzare, quindi non può occuparsi di vettori come primo argomento.

  2. Dopo il primo argomento, si dà un elenco di opzioni con i valori rispettati.

    Si noti che non c'è bisogno di mettere le virgolette intorno alle scelte.

Ricordate che l'interruttore () non funziona in modo vettorializzare. È possibile distinguere le scelte più facilmente, però, in modo che il codice diventa più leggibile.

Infatti, il primo argomento non deve essere un valore; può essere qualche espressione che restituisce sia un vettore carattere o un numero. Nel caso in cui si lavora con i numeri, non hanno nemmeno bisogno di usare scelta = valore nella chiamata di funzione. Se si dispone di numeri interi, interruttore () restituirà l'opzione in quella posizione. Nel interruttore dichiarazione (2, 'un valore', 'un'altra cosa', 'ancora un po'), il risultato è 'qualcosa d'altro'.

Utilizzare i valori predefiniti in interruttore

Non è necessario specificare tutte le opzioni in un interruttore () chiamata. Se si vuole avere un certo risultato in caso il valore abbinato non è tra le opzioni indicate, mettere quel risultato come l'ultima opzione, senza alcuna scelta.

IVA <- interruttore (client, privato = 1.12, pubblica = 1.06, 1)

Si può facilmente verificare questo nella console creando un oggetto chiamato client con un certo valore e quindi eseguire la chiamata interruttore (), come nell'esempio seguente:

> Client <- 'altro'
> Interruttore (client, privato = 1.12, pubblica = 1.06, 1)
[1] 1

Potete dare client valori diversi per vedere come funziona l'interruttore ().