# 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 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"`

:a

`warning`

about accuracy loss is signalled and the conversion happens as with`numerals = "allow.loss"`

.`numerals = "no.loss"`

:`x`

is*not*converted to a number, but to a`factor`

or left as character, depending on`as.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
non-missing 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. 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 `as.is`

.

##### Value

An atomic vector or (for `as.is = FALSE`

) a factor.

##### See Also

*Documentation reproduced from package utils, version 3.4.3, License: Part of R 3.4.3*