R 用数据框2的列和行名称追加数据框1
我试图在R中合并两个表,这样得到的表将从表1和表2中获得值R 用数据框2的列和行名称追加数据框1,r,dataframe,R,Dataframe,我试图在R中合并两个表,这样得到的表将从表1和表2中获得值 df1<-data.frame(Name = c("Gene_1", "Gene_2", "Gene_4", "Gene_3"), "1"=c(0,1,2,6), "2" = c(5,6,7,5), "3" = c(9,8,7,7), check.names=FALSE) > df1 Name 1 2 3 1 Gene_1 0 5 9 2 Gene_2 1 6 8 3 Gene_4 2 7 7 4 Gene_3
df1<-data.frame(Name = c("Gene_1", "Gene_2", "Gene_4", "Gene_3"), "1"=c(0,1,2,6), "2" = c(5,6,7,5), "3" = c(9,8,7,7), check.names=FALSE)
> df1
Name 1 2 3
1 Gene_1 0 5 9
2 Gene_2 1 6 8
3 Gene_4 2 7 7
4 Gene_3 6 5 7
df2<-data.frame(Name = c("Gene_2", "Gene_4", "Gene_5"), "1" = c(0,2,3), "2" = c(3,2,1), "3" = c(4,3,2), check.names=FALSE)
> df2
Name 1 2 3
1 Gene_2 0 3 4
2 Gene_4 2 2 3
3 Gene_5 3 1 2
我觉得必须有一种简单的方法来做,而不是循环。。。输出不必按任何顺序对列进行排序,我只想确保正确的值放在正确的位置。我已经在论坛上浏览过了,但还是被卡住了(
非常感谢。
贝丝
合并
让你达到目的:
merge(df1, df2, by='Name', all=TRUE)
## Name 1.x 2.x 3.x 1.y 2.y 3.y
## 1 Gene_1 0 5 9 NA NA NA
## 2 Gene_2 1 6 8 0 3 4
## 3 Gene_3 6 5 7 NA NA NA
## 4 Gene_4 2 7 7 2 2 3
## 5 Gene_5 NA NA NA 3 1 2
merge
让您到达:
merge(df1, df2, by='Name', all=TRUE)
## Name 1.x 2.x 3.x 1.y 2.y 3.y
## 1 Gene_1 0 5 9 NA NA NA
## 2 Gene_2 1 6 8 0 3 4
## 3 Gene_3 6 5 7 NA NA NA
## 4 Gene_4 2 7 7 2 2 3
## 5 Gene_5 NA NA NA 3 1 2