2.3 类型判别及转换
在R语言中,可以用 is.xxx()系列函数来判断数据是否为指定类型,用as.xxx()系列函数将数据转换为指定类型。基本类型数据的判断及转换函数如下表所示。
数值型 | 复数型 | 字符型 | 逻辑型 | 空值 | 空数据 |
---|---|---|---|---|---|
is.numeric() | is.complex() | is.character() | is.logical() | is.na() | is.null() |
as.numeric() | as.complex() | as.character() | as.logical() | null | as.null() |
这里有几点需要注意的:
数值型转逻辑型时,0被转换为FALSE ,非零值被转换为TRUE。
字符串转数值时,若该字符串能被转换成数字,则返回那个数字;若不能转换,则返回缺失值。
字符串转逻辑型时,字符串 “TRUE”、“True” 和 “T” 被转换成 TRUE;“FALSE” 和 “F”被转换成FALSE;其余被转换成 NA。
逻辑型转换为数值时, TRUE被转换为1,FALSE被转换为0。转字符串时TRUE和T均被转换成”TRUE”,FALSE和F被转换成 “FALSE”。
对于数据类型的判别,在R中提供了多种方式:
class( )可获取一个数据对象所属的类,它的参数是对象名称。
str( )可获取数据对象的结构组成。
mode( )和storage.mode( )可获取对象的存储模式。
typeof( )获取数据的类型或存储模式。
要了解这些函数的其它功能可以在R里面进行查询,方法是用问号加上面的函数名就可以,如:?str 。