• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言行/列合并

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

这两个命令是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简单,不需要考虑匹配问题。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap