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 asTRUE
Character strings
c("F", "FALSE", "False", "false")
are regarded asFALSE
All others character strings are regarded as
NA
.
29.2 Example: Explicit coercion
<- 0:6
x class(x)
as.numeric(x)
as.logical(x)
as.character(x)
<- c(0, 1, 5, T, NA, FALSE, TRUE)
x <- c(0, 1, 5, 'a', NA, FALSE, TRUE)
y as.numeric(x)
as.numeric(y)
as.character(x)
as.character(y)
as.logical(x)
as.logical(y)