R中有很丰富的数据类型,R和Python一样,变量不需要进行声明。R有6中基本数据类型:逻辑型、整型、数字型、复数型、字符、原型(Raw)。
R中的缺失值,使用NA表示,它占用存储空间,会参与计算,而空值使用NULL表示,不占村春空间。
逻辑型(logical)
就是Boolean型,TRUE、FALSE,
数字型(numeric)
就是浮点数,带有小数的,R中默认的数字都是numeric
整型(integer)
就是整数,如果我们要指定为整数,需要使用“L”显示指定
复数型(complex)
复数,有点儿忘了是干啥用的,赶紧百度下
字符(character)
就是字符串,
原型(Raw)
这个没太搞懂,后面找找看是干啥的,看上去像16进制,但是好像又不是
除了使用class()函数来看变量的类型,我们还可以使用一些函数来判断:mode(),storage.mode(),typeof(),这几个类型都可以返回数据类型,但是返回的结果并不一样,这里我们来记录下他们之间的区别。
我们先来说下mode(),返回的是对象在内存中的存储类型,mode()给出的是比较古老的类型划分,与它类似的还有一个storage.mode()函数
storage.mode()返回的是更新些的数据类型,精度更细,比如mode()返回的numeric,在storage.mode()中,返回的粒度更细,会返回integer、double
typeof()和storage.mode()比较类似,返回的也是精度比较细的类型
class()呢,和上面几个不一样,它返回的是一种抽象数据类型,更像是一种数据结构,而且还可以手动修改它的值
在stackoverflow上找到一份返回类型清单,可以参考下:
原文地址:stackoverflow