- 大话数据科学:大数据与机器学习实战(基于R语言)
- 陈文贤
- 240字
- 2020-11-23 14:43:52
2.3 R数据对象的属性与结构
在《大话统计学》中定义数据的衡量尺度有:定比尺度、定距尺度、定序尺度、定类尺度。在R数据对象的属性有:数值、整数、因子、逻辑和字符串。数据对象结构有:向量、因子、矩阵、数据框、数组、列表、时间序列等,如图2-2所示。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P61_60073.jpg?sign=1738886468-1gjQRPIGBV7rcg5XgRWcQzMIH7RyAvi6-0-c13e121656488f6ef051b2217bbec625)
图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是数值。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P62_60074.jpg?sign=1738886468-B2PEnGcb3O46H0e2wrPKtoaFHKidi0GW-0-03969122e241a1de504897bcbdba29a5)
2.3.3 字符串
字符串(character):引号要用 " ",不能用“ ”(如果用Word编程)。
下列命令c,c1是变量,分别指定为字符串。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P62_60075.jpg?sign=1738886468-VUa5gZxWLw11B0lDc7qUsbPQv0dknq5w-0-10fb85c345c1330f59c5142a1d354a29)
2.3.4 逻辑
逻辑(logical):TRUE =T = 1,FALSE = F = 0。下列命令d是变量,指定为TRUE。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P62_60076.jpg?sign=1738886468-xJ5RBcWJ49ZiXHYMgDvZ9wTtCmfLeMXt-0-94bb30ae233e8fa530b1d8e8602c0e80)
2.3.5 向量
向量(vector)没有维度,不是行向量1×n,也不是列向量n×1,如图2-3所示。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P63_10602.jpg?sign=1738886468-10ouNUjRZgaAXSkzmfJW7qUeeUb7jqSf-0-08c572ea81635f499595316546206df7)
图2-3 向量
向量每个元素有相同的格式,数值或符串符。下列命令e,f,g,a是变量,指定为向量。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P63_60078.jpg?sign=1738886468-9RequIGjc2zV34sknxbqHSMXvx28IwrL-0-3a9b5430e1c56604863cfc110fcfc095)
2.3.6 因子
因子(factor)是定类变量(无顺序)或定序变量(有顺序),分为有序因子和无序因子。
下列命令E,g是向量,F,G,H,h是变量,指定为因子。H,h改为有序因子。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P64_60080.jpg?sign=1738886468-rif1PD2eUy17Q3othwoBkpPfGWuRBih8-0-de91c25f79225740f6c92ff39596f246)
如图2-4所示。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P64_60081.jpg?sign=1738886468-T0QINgr1EIBxjDsg0RRft66pnkehZxdU-0-2873284b3dbb7262cd68b3c9b8a5b6fa)
图2-4 因子F
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P64_60083.jpg?sign=1738886468-cLI4G1x0Rt6q51HZ9ptJIpw6mMoA9dJV-0-820429df45456760935a7df5505ed741)
如图2-5所示。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P64_60084.jpg?sign=1738886468-DvWaVj5tJzGpPJN1OsfD5RGLWJr7HgA0-0-1225fc8b90984744f695833997501519)
图2-5 有序因子h
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P64_60086.jpg?sign=1738886468-6zWA9SiSeNiqWcQCiaY7G3ciY2lj6IWB-0-85aa08bc1ac312fe1f3de09ace7566c8)
2.3.7 矩阵
矩阵(matrix)的维度是m×n,m是行的数目,n是列的数目,每个元素有相同的格式,通常都是数值,所以两个矩阵可以相加或相乘,相乘有如下两种。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P65_60088.jpg?sign=1738886468-u4klTymGXRqxf2xYglBG8b8TZf7Rumbo-0-2fdfc622974df094efed71599af94808)
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P65_60089.jpg?sign=1738886468-QVHAzNQ9Rb39XfUbSJEmMAa3RHND6TYt-0-0bc7ff5dfc49a42e138c060f199c117f)
图2-6 矩阵
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P65_60091.jpg?sign=1738886468-IkWRvt73PXR7CUWfAsGdkECCyxkk1zRb-0-b40a2015ac8272260b46de4e3e2785b6)
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P66_60092.jpg?sign=1738886468-aC8SnOboUjIryPaKPsaajNntesZ0Sayf-0-81fa919c6dde865c9d004c95f17c5a49)
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P67_11366.jpg?sign=1738886468-IbTRMSRDctzM6YT14SFvjHdDjr6wwKTo-0-10e66d0a23bbad7ad049f114799e1c0b)
2.3.8 数据框
数据框(data frame)是大数据R语言最常用的数据结构。数据框的数据常用命名为“df”。数据框每个列(变量)的样本数目相同,相同列的数据属性相同,不同列的数据可以有不同属性,如下例(示意图如图2-7所示)k有4行3列:X1的属性是字符串因子,X2和X3的属性是数值。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P67_60093.jpg?sign=1738886468-B0HBVOf8mF0f5anYNlkG5QYhjZ6sY6qc-0-2b296286d686d389275a1d97f864066c)
图2-7 数据框示意
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P67_60095.jpg?sign=1738886468-KdhriFGgcVCBnE8chEDK4AchmzTDkhiV-0-0f31839879f6dd8885d6d45bd5fb55f6)
2.3.9 数组
数组(array)是多维的矩阵。
1.1.7节商业智能OLAP多维分析:向上钻取(roll up)、向下钻取(drill down)、切片(slice)和切块(dice)等数据结构应用是数组数据。
如下代码示意图如图2-8所示。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P68_60096.jpg?sign=1738886468-ZnEyNbgJ6eaAwa5Wml4ndXDd5vJ6kVfj-0-fb435b89229dfd60864f39a77c532895)
图2-8 数组示意
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P68_60098.jpg?sign=1738886468-di7xPZxYaa3QxskYXH8NBi3Wfhn1XrkC-0-7349b1fd1433f007048e70665cb70e37)
2.3.10 列表
列表(list)可以将不同结构的数据合并,如图2-9所示。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P68_60102.jpg?sign=1738886468-zioV48kR65gVlImfnL7igR1MGQXUhBGD-0-fec7ae98e5cd57cf57c5eca8faccf178)
图2-9 列表示意
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P68_60101.jpg?sign=1738886468-VkXMfnGCkTu4RvVTPR6B27hgOeZr5IpU-0-af6fdba34bb142d83d0e71d5c624eb20)
2.3.11 时间序列
示意代码如下:
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P69_60103.jpg?sign=1738886468-rtRRRq7OT8wAx0XyXR7yMIR6jEM6sOJt-0-634e9e06ad2478b918bd15f39558898b)
2.3.12 访问数据类型和结构
统计学和大数据最重要的是查看数据的类型和结构。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P69_12764.jpg?sign=1738886468-7nRfmWvj6Qwl7xtlVzJ5Ackj3SnWXeBT-0-b6cc716146f136eb9d4cfb29d6138e9d)
一个数据结构在不同的访问中,可能有不同的结果。
2.3.13 遗失值
NA表示missing value,NaN表示not a number,NULL表示empty object。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P70_12802.jpg?sign=1738886468-VuhEoBpGA8X8HqVm6PxO2hNozz4mDODI-0-10f43dae9addf85d1b63e164081c27c7)
2.3.14 读入Excel CSV数据
在Excel中保存文件,选择“另存为”保存类型,选择“CSV(逗号分隔)”,即可保存AB.csv文件,可使用R语言打开。
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P70_12805.jpg?sign=1738886468-vQz4imUANcrWYaWV0Ixg7xUBvLi2Yamm-0-9daf05a4247bbec002c30bd8d05adfe1)
2.3.15 编辑数据
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-P70_12807.jpg?sign=1738886468-9LNs6CtFmEoKqthqChSHF7CfkkT2k7Fd-0-e8d877f66ef3ed5aec06a4d40e52388d)
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的数据结构和函数
![](https://epubservercos.yuewen.com/8CA86F/18562448501472406/epubprivate/OEBPS/Images/Figure-T71_60105.jpg?sign=1738886468-1XdbZrVMl6M4YIjmbgNVqP8ylsAtBH3U-0-49524819bbb5ff7620f30c80f3e1983a)