# Switch in r

switch(statement,item1,item2,item3,…,itemN, default)

# by name with complex named expression
switch("bar", foo={"one"}, bar={"two"})
[1] "two"

# by index
switch(1, "one", "two")
[1] "one"
# by index with complex expressions
switch(2, {"one"}, {"two"})
[1] "two"
# by index with complex named expression
switch(1, foo={"one"}, bar={"two"})
[1] "one"
uFuncSwitch <- function(x){
\tswitch(x,
\t\t"+" = str_c("Addition    : ", num1 + num2) %>% print(),
\t\t"-" = str_c("Subtraction : ", num1 - num2) %>% print(),
\t\tprint("choose another operator")
\t)
}

> num1 <- 6
> num2 <- 4
> uFuncSwitch('+')
> uFuncSwitch('*')
[1] "choose another operator"
x_option <- function(x) {
switch(x,
a = "option 1",
b = "option 2",
c = "option 3",
stop("Invalid x value")
)
}
uFuncSwitch <- function(x){
\tswitch(x,
\t\tstr_c("Addition    : ", num1 + num2) %>% print(),
\t\tstr_c("Subtraction : ", num1 - num2) %>% print(),
\t\tprint("choose another operator")
\t)
}

> num1 <- 6
> num2 <- 4
> uFuncSwitch(1)
> uFuncSwitch(1.6)
> uFuncSwitch(2.1)
[1] "Subtraction : 2"
> uFuncSwitch(3)
[1] "choose another operator"
###### https://www.cyclismo.org/tutorial/R/scripting.html#switch-statement
Categories: R Basic

Blog Owner

Subscribe
Notify of