目录
一、认识数据框
7.1 建立第一个数据框
7.2 验证与设定数据框的列名和行名
二、认识数据框的结构
三、获取数据框内容
3.1 一般获取
3.2 特殊字符$
3.3 再看取得的数据
四、使用rbind()函数增加数据框的行数据
五、使用cbind()函数增加数据框的列数据
5.1 使用$符号
5.2 一次增加多列数据
六、再谈转置函数t()
一、认识数据框
数据框是一系列的列向量所组成的,我们可以将它视为矩阵的扩充。对单独的向量与矩阵而言,它们的元素必须相同,但对数据框而言,不同列的向量的元素类别可以不同。数据框还有其他特色如下:
(1)每个列皆有一个名称,如果没有设置,R语言默认该列的名称是V1、V2……,可使用names()和colname(0函数查询或设定数据框列的名称。
(2)每一个行也要有一个名称,R语言默认该行的名称是“1” “2” ……,相当于数字编号,但这些数字是字符串类型,可使用row.naems()函数查询或设定行的名称。
7.1 建立第一个数据框
data.frame()函数,可将多个向量组成是数据框。
7.2 验证与设定数据框的列名和行名
可使用names()和colnames()函数查询或设定数据框列的名称。
二、认识数据框的结构
如果使用str()函数,了解数据框的结构时,会发现一个问题。 mit.Name(现已改成Name)和mit.Gender(现已改成Gender)分明是字符串向量,但在建立数据框时却成了因子变量。在使用data.frame()函数建立数据框时,可以增加参数“stringsAsFactors=FALSE"。
但我的运行结果却是这样子的:
三、获取数据框内容
3.1 一般获取
若想要获取数据框的值,可以将数据框当作矩阵处理。
3.2 特殊字符$
再看一下mit.Newinfo数据框:
可以看到每个列名前面皆有"$"符号,这个符号主要是为了方便读取数据框的列名内的数据。
3.3 再看取得的数据
对于对象X而言,当使用X[,n]时,是取得对象X的第n列,所获得的结果是一个向量。如果使用X[n]方式可取得X对象的第n列,则返回的是数据框。如果使用X[-n]方式,则表示取得X对象的除第n列以外的数据,所返回的数据也是数据框。
四、使用rbind()函数增加数据框的行数据
如果想要一次增加多笔数据,可以先将这些行数据组合成一个数据框,然后再使用rbind()函数将两个数据框组合即可。
特别需要注意的是,所建数据框的列名必须与想要合并组合的数据框相同,然后使用rbind()函数将两个数据框组合,即可得到想要的结果。当然也可以直接使用索引值增加数据框的行数据。
五、使用cbind()函数增加数据框的列数据
5.1 使用$符号
为mit.info对象增加Weight列数据,数据分别为65,71,58,55。
5.2 一次增加多列数据
碰上需要一次加多列数据的情况,最简单的方法是为要增加的列数据建立数据框,最后再使用cbind()函数,将两个数据框组合。
六、再谈转置函数t()
如果我们想要将矩阵对象转换为数据框,可以依照下列两个步骤进行操作。
(1)使用t()函数,将行向量组成的矩阵转换成向量格式。
(2)正式转成数据框。