Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
# Basic if / else if / else x <- 17 if (x < 0) { cat("negative ") } else if (x == 0) { cat("zero ") } else { cat("positive ") } # if as an expression (returns a value) label <- if (x %% 2 == 0) "even" else "odd" cat(x, "is", label, " ") # Nested if classify <- function(n) { if (n < 0) { "negative" } else if (n < 10) { "small positive" } else if (n < 100) { "medium positive" } else { "large positive" } } classify(-3) # "negative" classify(7) # "small positive" classify(250) # "large positive" # ifelse() — vectorised conditional scores <- c(45, 72, 58, 90, 33, 81) ifelse(scores >= 60, "pass", "fail") # "fail" "pass" "fail" "pass" "fail" "pass" # Chained ifelse (poor readability; prefer dplyr::case_when) grade <- ifelse(scores >= 90, "A", ifelse(scores >= 80, "B", ifelse(scores >= 70, "C", ifelse(scores >= 60, "D", "F")))) grade # "F" "C" "F" "A" "F" "B" # switch() — dispatch on a value describe_type <- function(type) { switch(type, numeric = "a number", character = "a string", logical = "TRUE or FALSE", "unknown type" # default ) } describe_type("numeric") # "a number" describe_type("logical") # "TRUE or FALSE" describe_type("list") # "unknown type"
Result
Open