当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R type.convert 将数据转换为适当的类型


R语言 type.convert 位于 utils 包(package)。

说明

根据需要将数据对象转换为逻辑、整数、数字、复数、字符或因子。

用法

type.convert(x, ...)
## Default S3 method:
type.convert(x, na.strings = "NA", as.is, dec = ".",
             numerals = c("allow.loss", "warn.loss", "no.loss"),
             tryLogical = TRUE, ...)
## S3 method for class 'data.frame'
type.convert(x, ...)
## S3 method for class 'list'
type.convert(x, ...)

参数

x

向量、矩阵、数组、 DataFrame 或列表。

na.strings

将被解释为 NA 值的字符串向量。空白字段也被视为逻辑、整数、数字或复向量中的缺失值。

as.is

是否将字符串存储为普通 character 。如果为 false,则将字符向量转换为因子。查看具体信息'。

dec

假定为小数点的字符。

numerals

字符串,指示如何转换数字,这些数字转换为双精度会失去准确性,通常当 x 的位数多于 double 中可以存储的位数时。可以缩写。可能的值为

numerals = "allow.loss" ,默认:

转换的发生会带来一些准确性损失。

numerals = "warn.loss"

发出关于精度损失的 warning 信号,并且转换的发生与 numerals = "allow.loss" 一样。

numerals = "no.loss"

x 不会转换为数字,而是转换为 factorcharacter ,具体取决于 as.is

tryLogical

logical 确定完全由 FTFALSETRUEna.strings 组成的向量是否应转换为 logical ; true,默认情况下。

...

传入或传出方法的参数。

细节

该辅助函数由 read.table 使用。当数据对象x是 DataFrame 或列表时,将为每个列或列表元素递归调用该函数。

给定一个向量,该函数尝试将其转换为逻辑、整数、数字或复数,并且当另外 as.is = FALSE (不再是默认值!)时,将字符向量转换为 factor 。选择第一个可以接受所有非缺失值的类型。

完全缺失值的向量将转换为逻辑向量,因为 NA 主要是逻辑向量。

如果tryLogical默认情况下为 true,向量仅包含F,T,FALSE,TRUE和值来自na.strings被转换为逻辑。在您有很多人的情况下,这可能会令人惊讶character包含例如 1 个字母字符串的列,而您恰好得到一个仅包含"F"。在这种情况下tryLogical = FALSE被推荐。包含可选空格后跟十进制常量的向量可表示为R整数或值来自na.strings被转换为整数。其他包含可选空格的向量,后跟其他十进制或十六进制常量(请参阅base NumericConstants), 或者NaN,Inf或者infinity(忽略大小写)或来自的值na.strings被转换为数字。如果将输入转换为数字或复数会导致准确性损失,则可以选择将它们作为字符串返回或(对于as.is = FALSE)因子。

由于这是一个辅助函数,调用者应始终传递适当的 as.is 值。

类似 x 的对象,但在适当的时候使用其他存储模式。

例子

## Numeric to integer
class(rivers)
x <- type.convert(rivers, as.is = TRUE)
class(x)

## Convert many columns
auto <- type.convert(mtcars, as.is = TRUE)
str(mtcars)
str(auto)

## Convert matrix
phones <- type.convert(WorldPhones, as.is = TRUE)
storage.mode(WorldPhones)
storage.mode(phones)

## Factor or character
chr <- c("A", "B", "B", "A")
ch2 <- c("F", "F", "NA", "F")
(fac <- factor(chr))
type.convert(chr, as.is = FALSE) # -> factor
type.convert(fac, as.is = FALSE) # -> factor
type.convert(chr, as.is = TRUE)  # -> character
type.convert(fac, as.is = TRUE)  # -> character
type.convert(ch2, as.is = TRUE)                   #-> logical
type.convert(ch2, as.is = TRUE, tryLogical=FALSE) #-> character

作者

R Core, with a contribution by Arni Magnusson

也可以看看

read.tableclassstorage.mode

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Convert Data to Appropriate Type。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。