RNA-seqR

2018-03-20 R的 merge ,cbind ,rbin

2018-03-21  本文已影响2626人  7fd6f81c5fb2

转载: 

http://www.cdadata.com/13112



R语言中的数据合并函数(merge,cbind和rbind)的使用

 r语言 cdadata  1年前 (2017-02-15)  5824℃

R语言中的数据合并函数(merge,cbind和rbind)的使用—R语言中用cbind() 和rbind() 构建分块矩阵

关键词:R语言cbind和rbindrbind cbindr语言矩阵r语言 cbindr语言 rbind

1.merge函数

两个数据框拥有相同的时间或观测值,但这些列却不尽相同。处理的办法就是使用

merge(x, y ,by.x = ,by.y = ,all = ) 函数。

#merge/合并

ID<-c(1,2,3,4)

name<-c(“A”,”B”,”C”,”D”)

score<-c(60,70,80,90)

student1<-data.frame(ID,name)

student2<-data.frame(ID,score)

total_student1<-merge(student1,student2,by=”ID”)

total_student1

当我们需要将相同的观测对象得出的不同类型变量合并时,则采用cbind,也就是合并columm。

2.cbind函数/横向追加

ID<-c(1,2,3,4)

name<-c(“A”,”B”,”C”,”D”)

score<-c(60,70,80,90)

sex<-c(“M”,”F”,”M”,”M”)

student1<-data.frame(ID,name)

student2<-data.frame(score,sex)

total_student2<-cbind(student1,student2)

total_student2

当我们需要将不同的观测对象,相同的观测变量合并时,则采用rbind,也就是合并row。

3.rbind函数/纵向追加

ID<-c(1,2,3,4)

name<-c(“A”,”B”,”C”,”D”)

student1<-data.frame(ID,name)

ID<-c(5,6,7,8)

name<-c(“E”,”F”,”G”,”H”)

student2<-data.frame(ID,name)

total_student3<-rbind(student1,student2)

total_student3

R语言中用cbind() 和rbind() 构建分块矩阵

用cbind() 和rbind() 构建分块矩阵

正如前面所暗示的,可以利用函数cbind() 和rbind() 把向量和矩阵拼成一个新

的矩阵。概略地说,cbind() 把矩阵横向合并成一个大矩阵(列方式),而rbind()

是纵向合并(行方式)。

在命令中

> X <- cbind(arg 1 , arg 2 , arg 3 , …)

cbind() 的参数要么是任何长度的向量,要么是列长度一致的的矩阵(即行数一

样)。结果将是一个合并arg1 , arg2 , . . . 的列形成的矩阵。

如果cbind() 的参数中有一些比其他矩阵参数的列长度短的向量,它们将会被循

环使用以吻合矩阵的列长度(在没有矩阵的情况下,吻合其中最长向量的长度)。

函数rbind() 对行进行类似的操作。其中任何向量参数都会被当作行向量且可能

被循环使用。

假定X1 和X2 有一样的行数。下面的命令会把它们的列合并以得到矩阵X,同时要

求起始列都是1

> X <- cbind(1, X1, X2)

rbind() 或者cbind() 返回值常常是矩阵形式。因此,cbind(x) 和rbind(x) 可

能是把向量x 分别转换成列或者行矩阵最简单的方法。

上一篇下一篇

猜你喜欢

热点阅读