R学习笔记系列—统计数据之R语言数据类型上篇
1.3 R数据类型
R是面向对象的语言,R中的每个变量都被视为对象,有自己的属性,其中类型和长度是所有对象都具备的内在属性。
1.3.1 基本数据类型
R 有四种基本数据类型,即数值型、复数型(complex)、逻辑型(logical)、字符型(character)。
1.数值型
数值型即数字,分为整数型和双精度型。整数型在R内部用32位表示,因此只能表示 ±2e-9 范围内的数值。双精度则大得多,精度是15位有效数字,范围是 10的-308次方 到 10的308次方。R 语言默认的数值类型是双精度型,之所以保留整数型,更重要的原因是与 C、Fortran 等语言进行交互。在分析数据时,一般用默认的双精度型即可。
数字可以用科学计数法表示,其形式为 Xe+23,表示 X 乘以10 的 23 次方。Xe-23 表示 X 乘以10的负 23次方,注意e和加减号之间不能有空格。
有三个特殊的值需要记住,即正无穷、负无穷、不可能数,分别用Inf(Infinite)、-Inf 和 NaN (Not a Number)表示。
2.字符型
字符型即用单引号或者双引号包括起来的字符序列,一般我们称之为字符串。
3.逻辑型
逻辑型是布尔值,表示“是”与“否”,“真”或“假”。逻辑型用 TRUE 表示真,FALSE 表示假。也可缩写为 T或者 F,但需要注意的是,T 和 F不是 R 的保留字,其含义可以被程序改变,因此最好是用 TRUE 和 FALSE,更加规范和安全。
R中的比较运算和逻辑运算都可以产生逻辑型数据。比较运算包括 >,<,>=,<=,==,!=(大于,小于,大于等于,小于等于,等于,不等于)。逻辑运算包括 &,|,!(与、或、非)。
4.复数型
R 用 a+bi 的形式表示复数。
1.3.2 基本数据类型之间的转换
可以用 is.xxx() 系列函数来判断数据是否为指定类型,用 as.xxx() 系列函数将数据转换为指定类型。基本类型数据的判断及转换函数如下表所示。
类型 | 判断 | 转换 |
---|---|---|
数值型 | is.numeric() | as.numeric() |
复数型 | is.complex() | as.complex() |
字符型 | is.character() | as.character() |
逻辑型 | is.logical() | as.logical() |
缺失值 | is.na() | |
缺失值 | is.null() | as.null() |
数值型转逻辑型时,0 被转换为 FALSE ,非零值被 转换为 TRUE。
2. 数值型转字符串
数值型转字符串型的规则相对比较简单,就是先求数值的有效表达形式再原样转成字符串。
科学计数法转字符串的原则是:若其普通计数方法字符数小于等于科学技术法(指数部分算2位,即若为 3.14e+8 则视为 3.14e+08),优先用普通计数法转成字符串,否则直接用科学计数法的字符串。
3.字符串转数值
字符串转数值时,若该字符串能被转换成数字,则返回那个数字;若不能转换表,则返回缺失值。
4.字符串转逻辑型
字符串转逻辑型时,字符串 "TRUE"、"True" 和 "T" 被转换成 TRUE;"FALSE" 和 "F" 被转换成 FALSE;其余被转换成 NA。
5.逻辑型转数值和字符串
逻辑型转换为数值时 , TRUE 被转换为 1 , FALSE 被转换为 0。转字符串时 TRUE 和 T 均被转换成 "TRUE", FALSE 和 F 被转换成 "FALSE"。