Section 29 Vector: Explicit Coercion

The one exception to this is the special value NA (Not Available) used to signify a missing value

29.1 Explicit coercion: as.*

Example vector:

x <- c(0, 1, 5, T, NA, FALSE, TRUE)

y <- c(0, 1, 5, 'a', NA, FALSE, TRUE)

Function Concept Example
as.numeric numeric => numeric, character => NA, logical => 0/1 as.numeric(x); as.numeric(y)
as.character numeric => character, character => character, logical => character as.character(x), as.character(y)
as.logical numeric (non-zero) => TRUE, numeric (zero) -> FALSE, character (except TRUE, FALSE) => NA, logical => logical as.logical(x), as.logical(y)
  • Character strings c("T", "TRUE", "True", "true") are regarded as TRUE

  • Character strings c("F", "FALSE", "False", "false") are regarded as FALSE

  • All others character strings are regarded as NA.

29.2 Example: Explicit coercion

x <- 0:6
class(x)
as.numeric(x)
as.logical(x)
as.character(x)

x <- c(0, 1, 5, T, NA, FALSE, TRUE)
y <- c(0, 1, 5, 'a', NA, FALSE, TRUE)
as.numeric(x)
as.numeric(y)
as.character(x)
as.character(y)
as.logical(x)
as.logical(y)