美文网首页生物信息分析
R中文件合并怎么做?

R中文件合并怎么做?

作者: 笺牒九州的怪咖 | 来源:发表于2022-03-11 17:10 被阅读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 !-------------------------------------------------------------------------------------------------------------------------------

    相关文章

      网友评论

        本文标题:R中文件合并怎么做?

        本文链接:https://www.haomeiwen.com/subject/ksfhdrtx.html