数据框是一种表格式的数据结构,其结构与矩阵类似,但数据框的每一列必须命名且为同类型数据。数据框用于组织存储多个存储类型不相同的变量。数据框是一张二维表格,行和列分别称为观测和变量,在R中分别称为记录和域,域名即变量名。在实际运用中,数据框是R中最多使用的数据结构。

R语言 boostrap 数据框R语言_开发语言

如上为一组数据框,排名行称为表头,即为该数据框的各域名,除去域名行,数据框中的每一行可以视作一个列表,每一列可以视为一个矩阵。


(一)数据框的建立

数据框的建立一般采用data.frame( )函数建立,names( )函数来显示数据框的域名,is.data.frame()用来判断数据对象是否为数据框,其基本书写格式为:

data.frame(域名1=向量名1,域名2=向量名2,...)

names(数据框名)

is.data.frame(数据对象名)

x <- seq(1,20,1)                                             #创建向量x
y <- rep(1:10,each=2)                                        #创建向量y
z <- c('q','w','e','r','t','y','u','i','o','p')              #创建字符串向量z
k <- data.frame('Mysql'=x,'Python'=y,'R'=z)                  #创建数据框k
names(k)                                                     #显示数据框k的域名
str(k)                                                       #显示数据框k的结构信息
is.data.frame(k)                                             #判断数据对象k是否为数据框

(二)数据框的基本操作

我们可以利用矩阵访问方式来访问数据框,但更常用的是通过对各个域的访问来实现对数据框的访问,基本的书写格式如下:

数据框名 $ 域名

k $ Mysql                      #访问数据框k中域名为Mysql的列

此外,可以通过数据绑定函数attach( )函数与解除数据绑定函数detach( )的联立使用来简化访问时的域名书写,但是这两个函数必须配套使用,其基本书写格式为:

attach(数据框名)

域名1

域名2

...

detach(数据框名)

#访问数据框k中域名为Mysql,Python,R的列
attach(k)
Mysql
Python
R
detach(k)

也可以利用with函数来进行数据框的访问,其基本书写格式为:

with(数据框名,{

域访问函数1

域访问函数2

...

})

with(k,{R})                        #访问数据框k中域名为R的列

若想要修改数据框中的域值或者增加一个新的域,我们需要调用within( )函数,基本书写格式为:

数据框名 <-within(数据框名,{

域访问函数

...

域修改函数

...

})

#向数据框k中插入两个新的域
within(k,{
Navicat <- Mysql+Python
Java <-  Mysql-Pthon
})

总而言之,数据框是R中数据组织最常用的方式。