R 中的 switch 函数是一种控制流程的函数,它允许您根据变量的值执行不同的操作。switch 函数的语法如下:
switch(value,
case1 = statement1,
case2 = statement2,
...,
default = statement_default)
其中,value
是您要测试的变量,case1
、case2
等是您要执行的操作,statement_default
是默认操作。
例如,以下代码使用 switch 函数根据变量 day
的值来打印不同的星期几:
day <- "Monday"
switch(day,
Monday = "今天是星期一",
Tuesday = "今天是星期二",
Wednesday = "今天是星期三",
Thursday = "今天是星期四",
Friday = "今天是星期五",
Saturday = "今天是星期六",
Sunday = "今天是星期天")
这段代码将打印以下输出:
今天是星期一
与常用处理TRUE和FALSE条件的if相比,switch语句主要用于处理数字或者字符串,并根据输入返回某个分支。
switch 函数有许多好处,包括:
它易于使用。 它可以简化代码。 它可以提高代码的可读性和可维护性。 它可以提高代码的性能。 switch 函数可以用来替换 if-else 语句,从而简化代码。
除此之外,switch函数还能和function连用,实现复杂功能
FUN <- function(df, do.this){
switch(do.this,
T1={X <- t(df)
P <- nrow(df)
},
T2={X <- colMeans(df)
P <- ncol(df)
},
stop("Enter something that switches me!")
)
return(P)
}
FUN(mtcars, "T1")
FUN(mtcars, "T2")
FUN(mtcars, "T3")
最后一次修改于 2023-08-19