Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 匹配NA';s在switch()循环中_R - Fatal编程技术网

R 匹配NA';s在switch()循环中

R 匹配NA';s在switch()循环中,r,R,我希望运行开关循环并能够匹配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,但没有成功。在这种情况下,必须使用反勾号(或引号)对na进行转义 需要注意的一点是,您不能直接切换NA

我希望运行开关循环并能够匹配
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
,但没有成功。

在这种情况下,必须使用反勾号(或引号)对na进行转义

需要注意的一点是,您不能直接切换NA值。比如说

switch(NA, `NA` = 1)
不起作用,您应该使用例如

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

相反。可能最好使用
var[is.na(var)]试试`
na
` insteadIt可以使用单引号,谢谢@konvas你应该回答这个问题。@nrussell谢谢,可以
switch(as.character(NA), `NA` = 1)
# [1] 1