2.3 数据类型判别及转换
2025年09月26日
2.3 数据类型判别及转换
在R语言中,可以用is.xxx()系列函数来判别数据是否为指定类型,用as.xxx()系列函数将数据转换为指定类型。不同数据类型的判别及转换函数如表2-2所示。
表2-2 数据类型的判别及转换函数
这里有如下几点需要注意。
(1)数值型数据转逻辑型数据时,0被转换为FALSE,非零值被转换为TRUE。
(2)字符型数据转数值型数据时,若该字符型数据能被转换成数值型数据,则返回字符对应的数值;若不能转换,则返回缺失值NA。
(3)字符型数据转逻辑型数据时,字符串“TRUE”“True”“T”被转换成TRUE;“FALSE”和“F”被转换成FALSE;其余被转换成NA。
(4)逻辑型数据转换为数值型数据时,TRUE被转换为1,FALSE被转换为0。
(5)逻辑型数据转字符型数据时,TRUE和T均被转换成“TRUE”,FALSE和F被转换成“FALSE”。
对于数据类型的判别,R语言中提供了多种方式,具体如下。
(1)class()可获取一个数据对象所属的类,它的参数是对象名称。
(2)str()可获取数据对象的结构组成。
(3)mode()和storage.mode()可获取对象的存储模式。
(4)typeof()可获取数据的类型或存储模式。
若想了解以上函数的其他功能,可在R中进行查询,只需用问号加上函数名即可,如“?str”。