有时数据需要比向量更复杂的存储方式。幸运的是,R软件提供了很多的数据结构。常见的有数据框(data.frame)、矩阵(matrix)、列表(list)以及数组(array)。数据框类似于电子表格,矩阵类似于人们熟悉的矩阵数学计算,列表对于程序员比较熟悉。
01
数据框
数据框是R语言中最有用的功能之一,它也是R语言的易用性经常被提及的原因之一。直观上,数据框就像Excel电子表格一样有列和行。在统计上,每列代表一个变量,每行代表一个观测。
在数据框中,每列实际是个向量,都有相同的长度。数据框可以用来保存不同数据类型的数据。这也暗示着,每列的每个元素必须是相同数据类型的,类似向量的要求。创建数据框有很多种方式,最简单的是用data.frame函数。这里用前面介绍过的向量x、y、q创建一个基本的数据框。
这里创建了一个由3个向量组成的10行3列的数据框。注意theDF的名字也是变量。实际上,可以在创建数据框的过程中设置变量名字。
数据框是具有很多属性的复杂对象。最常检查的属性是行数和列数,用nrow和ncol函数分别得到数据框的行数和列数,而dim函数可以同时得到数据框的行数和列数。
数据框的列名字用names函数获取。names函数返回一个字符向量,列出所有的列名。由于是向量,可以访问它的每一个元素。
也可以获取和指定数据框的行名字。
有时一个数据框有太多的行,以至于不能在屏幕上全部显示出来,这时,可以用head函数显示出前几行。
像其他变量一样,用class函数获取数据框所属的类。