• R语言行/列合并


    bind_rows & bind_cols

    这两个命令是do.call(rbind, dfs)do.call(cbind, dfs)的代替,使用起来更有效率。

    one <- starwars[1:4, ]
    two <- starwars[9:12, ]
    
    bind_rows(one, two)
    bind_rows(list(one, two)) # a list of dataframes
    bind_rows(list(one, two), list(two, one))
    bind_rows(split(starwars, starwars$homeworld))
    

    其中split(starwars, starwars$homeworld)得到的是一个list的dataframes,每个list元素中包含的dataframes数量不同,根据homeworld进行了split。

    输入也可以是vecotr

    bind_rows(
      c(a = 1, b = 2),
      c(a = 3, b = 4)
    )
    
    bind_rows(
      c(a = 1, b = 2),
      tibble(a = 3:4, b = 5:6),
      c(a = 7, b = 8)
    )
    

    可以设置.id参数用于区分dataframe来源

    bind_rows(list(one, two), .id = "id")
    bind_rows(list(a = one, b = two), .id = "id")
    bind_rows("group 1" = one, "group 2" = two, .id = "groups")
    

    bind_colsbind_rows简单,不需要考虑匹配问题。

  • 相关阅读:
    各种
    shell
    搭建个人信息平台
    基本tomcat+nginx
    vi编辑的使用
    linux权限管理
    Java观察者模式
    Flume+Kafka+Sparkstreaming日志分析
    科学计算与数学建模
    推荐系统起手式-几种简单推荐模型(基于内容的推荐)
  • 原文地址:https://www.cnblogs.com/yaos/p/14014132.html
Copyright © 2020-2023  润新知