生物信息分析

R中文件合并怎么做?

2022-03-11  本文已影响0人  笺牒九州的怪咖

merge

通过一个或者多个变量进行连接

> Sa <- read.table("a.txt",header=TRUE,row.name="No",sep="\t")   #读取文件a
> Sa
  name age score
1  ZZZ  17  2189
2  HJK  18  3109
3  YUI  24  5189
4  AAA  56   145
5  SUN  34  1267
> Sb <- read.table("b.txt",header=TRUE,sep="\t")    #读取文件b
> Sb
  name age regian opp
1  BHA  18     JL   2
2  HJK  18     SY   3
3  AAA  56     XA   5
4  SUN  34     HD   4
> merge_by_name <- merge(Sa, Sb, by="name")    #文件ab以name列合并
> merge_by_name
  name age.x score age.y regian opp
1  AAA    56   145    56     XA   5
2  HJK    18  3109    18     SY   3
3  SUN    34  1267    34     HD   4
> merge_by_age <- merge(Sa, Sb, by="age")   #文件ab以age列合并
> merge_by_age
  age name.x score name.y regian opp
1  18    HJK  3109    BHA     JL   2
2  18    HJK  3109    HJK     SY   3
3  34    SUN  1267    SUN     HD   4
4  56    AAA   145    AAA     XA   5
> merge_by_name_age <- merge(Sa, Sb, by=c("name","age"))   #文件ab以name和age列合并
> merge_by_name_age
  name age score regian opp
1  AAA  56   145     XA   5
2  HJK  18  3109     SY   3
3  SUN  34  1267     HD   4

cbind

横向合并,不需要指定索引,必须拥有相同的行数

> Sa <- read.table("a.txt",header=TRUE,row.name="No",sep="\t")   #读取文件a
> Sa
  name age score
1  ZZZ  17  2189
2  HJK  18  3109
3  YUI  24  5189
4  AAA  56   145
5  SUN  34  1267
> Sb <- read.table("b.txt",header=TRUE,sep="\t")    #读取文件b
> Sb
  name age regian opp
1  BHA  18     JL   2
2  HJK  18     SY   3
3  AAA  56     XA   5
4  SUN  34     HD   4
>cbind1 <- cbind(Sa, Sb)
Error in data.frame(..., check.names = FALSE) : 
  参数值意味着不同的行数: 5, 4
> Sb2 <- read.table("b2.txt",header=TRUE,sep="\t")    #读取文件b2
> Sb2
  name age regian opp
1  BHA  18     JL   2
2  HJK  18     SY   3
3  AAA  56     XA   5
4  SUN  34     HD   4
5  YUN  25     XM   1
>cbind2 <- cbind(Sa, Sb2)
> cbind2
  name age score name age regian opp
1  ZZZ  17  2189  BHA  18     JL   2
2  HJK  18  3109  HJK  18     SY   3
3  YUI  24  5189  AAA  56     XA   5
4  AAA  56   145  SUN  34     HD   4
5  SUN  34  1267  YUN  25     XM   1

用R做文件合并,你fei了吗?

-----------------------------------------------------------------------------------------------------------------------------------------------I`m a line ! Thanks !-------------------------------------------------------------------------------------------------------------------------------

上一篇下一篇

猜你喜欢

热点阅读