type.convert
Type Conversion on Character Variables
Convert a character vector to logical, integer, numeric, complex or factor as appropriate.
 Keywords
 manip
Usage
type.convert(x, na.strings = "NA", as.is = FALSE, dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"))
Arguments
 x
 a character vector.
 na.strings
 a vector of strings which are to be interpreted as
NA
values. Blank fields are also considered to be missing values in logical, integer, numeric or complex vectors.  as.is
 logical. See ‘Details’.
 dec
 the character to be assumed for decimal points.
 numerals
 string indicating how to convert numbers whose
conversion to double precision would lose accuracy, typically when
x
has more digits than can be stored in adouble
.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"
: a
warning
about accuracy loss is signalled and the conversion happens as withnumerals = "allow.loss"
. numerals = "no.loss"
:x
is not converted to a number, but to afactor
or left as character, depending onas.is
. This has been the only behavior of R version 3.1.0.
Details
This is principally a helper function for read.table
.
Given a character vector, it attempts to convert it to logical,
integer, numeric or complex, and failing that converts it to factor
unless as.is = TRUE
. The first type that can accept all the
nonmissing values is chosen.
Vectors which are entirely missing values are converted to logical,
since NA
is primarily logical.
Vectors containing just F
, T
, FALSE
, TRUE
and values from na.strings
are converted to logical. Vectors
containing optional whitespace followed by decimal constants
representable as R integers or values from na.strings
are
converted to integer. Other vectors containing optional whitespace
followed by other decimal or hexadecimal constants (see
NumericConstants), or NaN
, Inf
or infinity
(ignoring case) or values from na.strings
are converted to
numeric. As from R 3.1.0, where converting inputs to numeric or
complex would result in loss of accuracy they are returned as strings
(for as.is = TRUE
) or factors.
Since this is a helper function, the caller should always pass an
appropriate value of as.is
.
Value

An atomic vector or (for
as.is = FALSE
) a factor.