前面几篇文章对R语言、R包以及R向量与矩阵等对象做了简单介绍,本篇继续介绍R数据框的相关内容。
数据框的创建
通过data.frame函数来创建数据框,该函数包含的主要参数为:
data.frame(..., row.names = NULL, check.rows = FALSE, check.names = TRUE,
stringsAsFactors = default.stringsAsFactors())
创建一个数据框
Demo_1<-data.frame(name=c('lucy','alice','lei'),
heigh=c(178,156,188),
sex=c('F','F','M'),
score=c(200,210,198))
#包括一个缺少值的数据框
Demo_2<-data.frame(name=c('lucy','alice','lei'),
heigh=c(178,156,188),
sex=c('F','F',NA),
score=c(200,210,198),
stringsAsFactors =F)
默认情况下,name与sex都是factor类型,如果要将某转化成字符类型,则使用选项:
stringsAsFactors =F数据框特别点
1、可以包含不同类型的变量;而在矩阵中只能是同一种类型,例如:不能出现字符与数值二种类型;所以可以把数据框理解为各列可为不同类型的向量组合。
2、各列的长度要求一致。如果长度不一,则会报错。例如:
3、如果你对数据库比较熟悉,你可以把数据框理解为数据库中的表。 数据框基本操作
1、查看数据框信息
#查看类型class(Demo_1) #查看某列的类型class(Demo_1$sex) #查看数据框长度length(Demo_1) #数据框各项名称names(Demo_1) #数据框信息总结,对字符类/因子类数据,给出相应的频数统计;给数值型数据给出5个主要的指标。summary(Demo_1)
#对数据框进行去重unique(Demo_1) #取数据框中重复的行Demo_1[duplicated(Demo_1),]
2、取数据框中的某个元素
Demo_1[i,j]指第i行第j列的数据;
3、取数据框中一列与多列
#取某列,可以通过列标或者名称Demo_1$sex Demo_1[,3]
#取多行,例如取1,2,4列Demo_1[,-3] Demo_1[,c(1,2,4)]
4、取数据框中的一行与多行
#取某行,可以通过行标或者名称,例如:取数据框的第一行Demo_1[1,]
#取多行,例如:取数据框的第一与第二行
5、判断数据框各行是否完整
complete.cases(Demo_2)
#选择非缺失值的数据Demo_1[complete.cases(Demo_2),]
6、增加列
#给Demo_1增加一列Demo_1$score2<-c(12,13,23)Demo_1<-cbind(Demo_1,score2=c(12,13,23))
7、增加行
#合并某二个数据框的二列Demo_3<-rbind(Demo_1[,c(1,2)], Demo_2[,c(1,2)])