我对R中的switch语句有点困惑。简单地搜索一下这个函数,我得到了一个示例,如下所示:
switch的一个常见用法是根据函数的一个参数的字符值进行分支。
> centre <- function(x, type) {
+ switch(type,
+ mean = mean(x),
+ median = median(x),
+ trimmed = mean(x, trim = .1))
+ }
> x <- rcauchy(10)
> centre(x, "mean")
[1] 0.8760325
> centre(x, "median")
[1] 0.5360891
> centre(x, "trimmed")
[1] 0.6086504
然而,这似乎与为每个type
指定一组if
语句是一样的
这就是switch()
的全部吗?有人能给我更多的例子和更好的应用吗?
发布于 2021-04-22 23:19:03
开关也比一系列if()语句更容易阅读。这样如何:
switch(id,
"edit" = {
CODEBLOCK
},
"delete" = {
CODEBLOCK
},
stop(paste0("No handler for ", id))
)
https://stackoverflow.com/questions/7825501
复制相似问题