下载此文档

R语言基础知识.doc


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
R语言基础知识
在做数据处理的时候我们经常会碰到数据合并的问题,比如将两个或者多个相同行数的数据框合并起来(cbind)、将两个或多个等长的向量合并起来(cbind)、或者将不等长的数据框按照某一列合并起来(merge、join)。
下面给大家一一介绍一下这几个函数的用法,并且我们还会在后面附带上Linux中如何用shell这把瑞士***来达到R中数据列合并的效果:
1、 等长数据框和向量的合并
cbind函数
如果要直接横向合并两个矩阵或数据框,并且不需要指定一个公共索引,那么可以直接使用cbind()函数。这个函数将横向合并对象A和对象B。 为了让它正常工作,每个对象必须拥有相同的行数,且要以相同顺序排序。
cbind(object1, object2, …) #按列合并对象
例:
> roster
ID Student
1 1 John
2 2 Angela
3 3 David
4 4 Joel
5 5 Mary
> score
Math Science English
1 502 95 25
2 600 99 22
3 412 80 18
4 625 82 15
5 522 89 20
> roster_cbind roster_cbind
ID Student Math Science English
1 1 John 502 95 25
2 2 Angela 600 99 22
3 3 David 412 80 18
4 4 Joel 625 82 15
5 5 Mary 522 89 20
如果需要纵向合并两个数据框(数据集)请使用rbind()函数。在使用rbind()函数时,两个数据框必须拥有相同的变量,不过它们的顺序不必一定相同。如果dataframeA中拥有dataframeB中没有的变量,在合并它们之前需做以下处理:
(1)删除dataframeA中的多余变量;
(2)在dataframeB中创建追加的变量并将其值设为NA(缺失)。
纵向合并数据通常用于向数据框中添加观测。
2、 按列合并
当两个数据框通过一个或者多个共有变量进行联接时(即一种内联结,inner join),我们可以使用merge函数,也可以使用plyr包的join函数。join函数运行速度比merge函数快,数据较大时用join()函数合并数据会节约不少时间。
merge函数
以数据框例:
total ID total_student
ID name score
1 1 Jim 89
2 2 Tony 22
3 3 Lisa 78
4 4 Tom 78
dataframe的填充默认按列填充;merge()函数较我们之前介绍的cbind()和rbind()两个函数更加”智能”。
join函数
join()函数是plyr包的一个辅助函数。大家在使用前需要先安装plyr包(("plyr"))。
plyr包遵循三位一体的Split-Apply-Combine(拆分数据,应用函数,组合结果)思想,设置了超过50个函数来应对各类型数据和处理的情况,使数据处理变得极为简单方便,极大地提高了数据处理的效率。
join()函数的一般使用格式为:
join(x, y, by=NULL, type="left", match="all")
作用:联合两个数据框
参数:x,y是两个数据框; by是指定要联合的变量,默认值为所有的变量; type是指定联合的方式
例:
> x1 join(x,y,by="x2") #若不指定联合的变量会按默认按共同的变量连接
x1 x2 y1
1 1 5 NA
2 2 6 30
3 3 7 40
4 4 8 NA
> join(x,y,by="x2", type="inner") # type="inner"表示只是把匹配的情况的列出来
x1 x2 y1
1 2 6 30
2 3 7 40
> join(x,y,by="x2", type="right") # type="right

R语言基础知识 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人好用的文档
  • 文件大小16 KB
  • 时间2021-05-04