
2.3 R数据对象的属性与结构
在《大话统计学》中定义数据的衡量尺度有:定比尺度、定距尺度、定序尺度、定类尺度。在R数据对象的属性有:数值、整数、因子、逻辑和字符串。数据对象结构有:向量、因子、矩阵、数据框、数组、列表、时间序列等,如图2-2所示。

图2-2 R数据对象的属性与结构
2.3.1 数值
数值(numeric):下列命令a,a1是变量,分别指定为 5,3.5。
> a <- 5#创建数据对象a
> a1 <- 3.5
2.3.2 整数
整数(integer):下列命令 b,b2是变量,分别指定为整数5,2。b1是数值。

2.3.3 字符串
字符串(character):引号要用 " ",不能用“ ”(如果用Word编程)。
下列命令c,c1是变量,分别指定为字符串。

2.3.4 逻辑
逻辑(logical):TRUE =T = 1,FALSE = F = 0。下列命令d是变量,指定为TRUE。

2.3.5 向量
向量(vector)没有维度,不是行向量1×n,也不是列向量n×1,如图2-3所示。

图2-3 向量
向量每个元素有相同的格式,数值或符串符。下列命令e,f,g,a是变量,指定为向量。

2.3.6 因子
因子(factor)是定类变量(无顺序)或定序变量(有顺序),分为有序因子和无序因子。
下列命令E,g是向量,F,G,H,h是变量,指定为因子。H,h改为有序因子。

如图2-4所示。

图2-4 因子F

如图2-5所示。

图2-5 有序因子h

2.3.7 矩阵
矩阵(matrix)的维度是m×n,m是行的数目,n是列的数目,每个元素有相同的格式,通常都是数值,所以两个矩阵可以相加或相乘,相乘有如下两种。


图2-6 矩阵



2.3.8 数据框
数据框(data frame)是大数据R语言最常用的数据结构。数据框的数据常用命名为“df”。数据框每个列(变量)的样本数目相同,相同列的数据属性相同,不同列的数据可以有不同属性,如下例(示意图如图2-7所示)k有4行3列:X1的属性是字符串因子,X2和X3的属性是数值。

图2-7 数据框示意

2.3.9 数组
数组(array)是多维的矩阵。
1.1.7节商业智能OLAP多维分析:向上钻取(roll up)、向下钻取(drill down)、切片(slice)和切块(dice)等数据结构应用是数组数据。
如下代码示意图如图2-8所示。

图2-8 数组示意

2.3.10 列表
列表(list)可以将不同结构的数据合并,如图2-9所示。

图2-9 列表示意

2.3.11 时间序列
示意代码如下:

2.3.12 访问数据类型和结构
统计学和大数据最重要的是查看数据的类型和结构。

一个数据结构在不同的访问中,可能有不同的结果。
2.3.13 遗失值
NA表示missing value,NaN表示not a number,NULL表示empty object。

2.3.14 读入Excel CSV数据
在Excel中保存文件,选择“另存为”保存类型,选择“CSV(逗号分隔)”,即可保存AB.csv文件,可使用R语言打开。

2.3.15 编辑数据

2.3.16 保存Excel CSV数据
> write.csv(AB, fi le = "C:/R/AB.csv")
2.3.17 数据输入窗口
打开窗口输入数据。
> X <- data.frame(X1=character(0), X2= character(0), X3=numeric(0))
> X <-edit(X) # X1, X2当作因子 factor
2.3.18 R的数据结构和函数表
R的数据结构和函数表如表2-2所示。
表2-2 R的数据结构和函数
