Common mistake

Control flow / Conditional statements / if/else statements

# Trap: the condition must be one value
latitudes <- c(10, -20)
many_error <- tryCatch(
  if (latitudes == 0) "Equator",
  error = conditionMessage)
# many_error = the condition has length > 1

# Trap: at the top level else cannot start a line
else_error <- tryCatch(
  parse(text = "if (TRUE) 1\nelse 2"),
  error = conditionMessage)
# else_error = <text>:2:1: unexpected 'else'
# 1: if (TRUE) 1
# 2: else
#    ^

cat("many_error =", many_error, "\n")
cat("else_error =", else_error, "\n")