當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。