Switch函数妙用

KJY / 2023-08-19


R 中的 switch 函数是一种控制流程的函数,它允许您根据变量的值执行不同的操作。switch 函数的语法如下:

switch(value,
       case1 = statement1,
       case2 = statement2,
       ...,
       default = statement_default)

其中,value 是您要测试的变量,case1case2 等是您要执行的操作,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