我想运行switch循环并且能够匹配NA
,例如:
switch(var, match1 = do something, match3 = do something)
如果var
NA
是 switch(var, match1 = do something, match3 = do something, NA = do something)
,那该怎么办呢?
is.na()
我也尝试了NA
而不是new FileInputStream("C&LBOLD.ttf")
,但它没有用。
答案 0 :(得分:7)
在这种情况下,NA必须使用反引号(或引号)进行转义
switch(var, match1 = do something, `NA` = do something)
需要注意的一点是,您不能直接switch
NA值。例如
switch(NA, `NA` = 1)
不起作用,你应该使用例如。
switch(as.character(NA), `NA` = 1)
# [1] 1
代替。使用var[is.na(var)] <- ...