2015-05-27 2 views
7

Ich möchte Schalter Schleife laufen und in der Lage sein NA anzupassen, zum Beispiel:in-Schalter des Spiel NA() Schleife

switch(var, match1 = do something, match3 = do something) 

Wie kann es tun, wenn varNA wie so ist:

switch(var, match1 = do something, match3 = do something, NA = do something) 

Ich habe auch versucht is.na() anstelle von NA und es hat nicht funktioniert.

+4

Versuchen Sie '' NA '' anstatt – konvas

+0

Es funktioniert mit einfachen Anführungszeichen, danke! – ramses

+0

@konvas Sie sollten das eine Antwort geben. – nrussell

Antwort

5

In dieser Situation hat NA mit Backticks (oder Anführungszeichen)

zu entkommen
switch(var, match1 = do something, `NA` = do something) 

Eine Sache zu beachten, dass Sie kann nicht switch NA-Werte direkt. Zum Beispiel

switch(NA, `NA` = 1) 

funktioniert nicht, und Sie sollten z.

switch(as.character(NA), `NA` = 1) 
# [1] 1 

statt. Es ist wahrscheinlich besser zu verwenden var[is.na(var)] <- ...