从字符串转换

枚举

seasons <- c("Summer", "Fall", "Winter", "Spring")

# Only an exact member name passes
to_season <- function(name) {
  if (!name %in% seasons) {
    stop("unknown season: ", name)
  }
  factor(name, levels = seasons)
}

summer <- to_season("Summer")
# summer = Summer

cat("summer =", as.character(summer), "\n")

# An unknown name is an error
msg <- tryCatch(to_season("Sumer"),
                error = conditionMessage)
cat("msg =", msg, "\n")
# msg = unknown season: Sumer