R语言课程资料2

第五节 数据整理

一、准备数据

1.数据挖掘工作:数据准备(80%)+算法分析(5%)+总结

2.数据形态:存储时面向数据库,转换成分析形态

二、合并

1. 合并数据集

数据存储在不同的文件中,需要将不同的对象合并为一个整体分析对象。

2)paste()  将多个字符型向量连接成一个向量。

x<-c(1,2,3,4,5)

y<-c("a","b","c","d","e")

paste(x,y)

paste(x,y,sep="-")

paste(x,y,sep="-",collapse=",")

2.合并矩阵或数据框

rbind()和cbind() 列数或行数相同

例:读入两个班的学生信息,并合并为一个数据框

stu1<-read.csv("stu1.csv",header=T)

stu2<-read.csv("stu2.csv",header=T)

stu<-rbind(stu1,stu2)

3.合并数据

通过共同字段合并数据

merge()函数

merge(x,y,by,by.x,by.y,all)

 

x,y:合并的数据框

by:对应于列名的字符型向量

 

例:将1班学生成绩与学生信息合并

data_score<-read.csv("stu1_score.csv",header=T)

stu<-merge(stu1,data_score)

三、数据转换

1.变量类型转换

2.as.类型()函数

3.transform()函数 数据框对象

transform(x,转换的变量)

 

x:要转换的数据框

后面依次添加要转换的变量及转换格式

 

例,使用transform()计算每名学生平均分

stu<-transform(stu,学号=as.character(学号),平均分=(stu[,7]+stu[,8]+stu[,9])/3)

分类运算

4.apply()  数组、矩阵

apply(x,margin,fun)  margin=1(行),2(列)

x<-1:20 ; dim(x)<-c(5,4)

apply(x,margin=1,fun=max)

4.lapply() 列表、数据框,返回一个列表

lapply(x,fun)

d<-data.frame(x=1:5,y=6:10)

lapply(d,function(x) 2^x)  ;lapply(d,fun=max)

5.sapply()函数 返回向量、矩阵或数组

sapply(d,fun)

sapply(d,funciton(x)  2^x)

四、plyr软件包

1.集合多种pply函数的功能

输入

输出矩阵

输出数据框

输出列表

不输出

数组

aaply

adply

alply

a_ply

数据框

daply

ddply

dlply

d_ply

列表

laply

ldply

llply

l_ply

2.参数

.data

输入的数据对象

.fun

要运行的函数

五、数据分段

1.cut()函数 输入为数值向量,输出为因子

cut(x,breaks,labels)

X:数值向量          breaks:指定分割点数量的整数,或指定位置向量

labels:输出因子的水平的标签

例:将30名学生成绩分段,并统计每个分段的人数

data<-round(runif(30,0,100))

data_cut<-cut(data,breaks=c(0,60,70,80,90,100))

table(data_cut)

六、合并对象

1.将几个相似的对象(向量或数据框)合并成一个数据框

2.Make.groups()   先安装lattice包

例:cls_a<-round(runif(10,0,100))

cls_b<-round(runif(10,0,100))

cls_c<-round(runif(10,0,100))

make.groups(cls_a,cls_b,cls_c)

七、子集

需要分析数据为全部数据的部分

使用下标访问部分数据

如:取出所有女生的信息

subset()函数

subset(x,subset,select)

 

x:全部数据

subset:需要取出的子集

select:需要取出的列

 

八、随机抽样

1.sample()函数

  1. sample(x,size,replace,prob)

x:目标数据                                        size:抽样数量的参数

replace:是否放回抽样,有放回为T,无放回F         prob:抽样的概率向量

  1. sample直接作用数据框,得到对列的抽样结果。

2.实现按行抽样

sub1<-sample(nrow(data_stu),5,replace = F)

getdata(data_stu,sub1)

九、Insurance数据集介绍</

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值