【问题标题】:How to combine dataframes based on the names in common in R?如何根据 R 中的共同名称组合数据框?
【发布时间】:2020-04-27 18:09:35
【问题描述】:

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

【问题讨论】:

    标签: r dataframe merge


    【解决方案1】:

    我们可以使用mget 来获取以“dma”开头的对象的值,后跟数字到list,然后rbinddo.callbase R

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

    或者tidyverse

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

    【讨论】:

    • 这段代码并不完全有效,但感谢您让我知道 ls() 函数。这最终成为我完成这一切所需的部分,所以我非常感谢!!!!
    • @Emily 你能展示你在代码中所做的更改吗?谢谢。没有例子的时候,很难理解具体的问题。
    猜你喜欢
    • 2021-01-07
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 2022-01-13
    • 2017-02-24
    • 1970-01-01
    • 2020-10-05
    • 2019-01-10
    相关资源
    最近更新 更多