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 等语言进行交互。在分析数据时,一般用默认的双精度型即可。

R学习笔记系列—统计数据之R语言数据类型上篇

数字可以用科学计数法表示,其形式为 Xe+23,表示 X 乘以10 的 23 次方。Xe-23 表示 X 乘以10的负 23次方,注意e和加减号之间不能有空格。

R学习笔记系列—统计数据之R语言数据类型上篇

有三个特殊的值需要记住,即正无穷、负无穷、不可能数,分别用Inf(Infinite)、-Inf 和 NaN (Not a Number)表示。

R学习笔记系列—统计数据之R语言数据类型上篇

2.字符型

字符型即用单引号或者双引号包括起来的字符序列,一般我们称之为字符串。

R学习笔记系列—统计数据之R语言数据类型上篇

3.逻辑型

逻辑型是布尔值,表示“是”与“否”,“真”或“假”。逻辑型用 TRUE 表示真,FALSE 表示假。也可缩写为 T或者 F,但需要注意的是,T 和 F不是 R 的保留字,其含义可以被程序改变,因此最好是用 TRUE 和 FALSE,更加规范和安全。

R中的比较运算和逻辑运算都可以产生逻辑型数据。比较运算包括 >,<,>=,<=,==,!=(大于,小于,大于等于,小于等于,等于,不等于)。逻辑运算包括 &,|,!(与、或、非)。

R学习笔记系列—统计数据之R语言数据类型上篇

4.复数型

R 用 a+bi 的形式表示复数。

R学习笔记系列—统计数据之R语言数据类型上篇

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()

R学习笔记系列—统计数据之R语言数据类型上篇

数值型转逻辑型时,0 被转换为 FALSE ,非零值被 转换为 TRUE。

2. 数值型转字符串

数值型转字符串型的规则相对比较简单,就是先求数值的有效表达形式再原样转成字符串。

R学习笔记系列—统计数据之R语言数据类型上篇

科学计数法转字符串的原则是:若其普通计数方法字符数小于等于科学技术法(指数部分算2位,即若为 3.14e+8 则视为 3.14e+08),优先用普通计数法转成字符串,否则直接用科学计数法的字符串。

R学习笔记系列—统计数据之R语言数据类型上篇

3.字符串转数值

字符串转数值时,若该字符串能被转换成数字,则返回那个数字;若不能转换表,则返回缺失值。

R学习笔记系列—统计数据之R语言数据类型上篇

4.字符串转逻辑型

字符串转逻辑型时,字符串 "TRUE"、"True" 和 "T" 被转换成 TRUE;"FALSE" 和 "F" 被转换成 FALSE;其余被转换成 NA。

R学习笔记系列—统计数据之R语言数据类型上篇

5.逻辑型转数值和字符串

逻辑型转换为数值时 , TRUE 被转换为 1 , FALSE 被转换为 0。转字符串时 TRUE 和 T 均被转换成 "TRUE", FALSE 和 F 被转换成 "FALSE"。

R学习笔记系列—统计数据之R语言数据类型上篇

相关推荐