arg
可以使用多个不同的字符串值"A", "B", "three", "four"
。
我想使用switch()
命令为arg == "A" || arg == "B"
执行一批代码,为arg == "three" || arg == "four"
执行另一批代码。但我不想两次打字,如:
switch(arg,
A = {#code block 1
},
B = {#code block 1
},
three = {#code block 2
},
four = {#code block 2
}
)
我可以用
ifelse (arg %in% list("A", "B"), #code block 1,
if (arg %in% list("three", "four")) #code block 2
)
但有没有更好的方法来实现这一目标?
答案 0 :(得分:2)
这是一种方式:
switch(switch(arg, B='A', four='three', arg),
A = {#code block 1
},
three = {#code block 2
}
)