首页 > 解决方案 > 如何根据 R 中的共同名称组合数据框?

问题描述

所以我的数据目前在 R 中被分成 211 个数据帧,我想知道是否有一种方法可以将所有这些数据组合在一起,而不必输入每个数据帧的名称。每个数据帧都以类似的方式命名:以“dma”开头,然后具有它对应的 dma 编号(dma1-dma211)。是否有组合/合并功能允许我选择所有以“dma”开头的数据帧并将它们组合起来?所有数据框都具有相同的列和列名,我想将它们垂直组合。谢谢!!

标签: rdataframemerge

解决方案


我们可以mget用来获取以'dma'开头的对象的值,然后是数字到a list,然后rbinddo.callinbase R

out <- do.call(rbind, mget(ls(patterns = '^dma\\d+$')))

或与tidyverse

library(dplyr)
out <- mget(ls(patterns = '^dma\\d+$')) %>%
          bind_rows

推荐阅读