搜索
查看: 2259|: 0

[资源分享] 用R语言做数据分析(5)——数据框

[复制链接]

165

主题

5

回帖

1123

积分

金牌会员

积分
1123
发表于 2014-5-24 03:19:47 | 显示全部楼层 |阅读模式
             前面几篇文章对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)])
        

               
                    

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-11-15 11:46 , Processed in 0.093653 second(s), 25 queries .

快速回复 返回顶部 返回列表