Type Conversion on Character Variables
Convert a character vector to logical, integer, numeric, complex or factor as appropriate.
type.convert(x, na.strings = "NA", as.is = FALSE, dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"))
- a character vector.
- a vector of strings which are to be interpreted as
NAvalues. Blank fields are also considered to be missing values in logical, integer, numeric or complex vectors.
- logical. See Details.
- the character to be assumed for decimal points.
- string indicating how to convert numbers whose
conversion to double precision would lose accuracy, typically when
xhas more digits than can be stored in a
double. Can be abbreviated. Possible values are
numerals = "allow.loss", default:
- the conversion happens with some accuracy loss. This has been the only behavior of R versions 3.0.3 and earlier.
numerals = "warn.loss":
warningabout accuracy loss is signalled and the conversion happens as with
numerals = "allow.loss".
numerals = "no.loss":
xis not converted to a number, but to a
factoror left as character, depending on
as.is. This has been the only behavior of R version 3.1.0.
This is principally a helper function for
Given a character vector, it attempts to convert it to logical,
integer, numeric or complex, and failing that converts it to factor
as.is = TRUE. The first type that can accept all the
non-missing values is chosen.
Vectors which are entirely missing values are converted to logical,
NA is primarily logical.
Vectors containing just
and values from
na.strings are converted to logical. Vectors
containing optional whitespace followed by decimal constants
representable as R integers or values from
converted to integer. Other vectors containing optional whitespace
followed by other decimal or hexadecimal constants (see
(ignoring case) or values from
na.strings are converted to
numeric. Where converting inputs to numeric or complex would result
in loss of accuracy they can optionally be returned as strings (for
as.is = TRUE) or factors.
Since this is a helper function, the caller should always pass an
appropriate value of
An atomic vector or (for
as.is = FALSE) a factor.