【问题标题】:How to rename column names of merged dataframe by previous dataframe names in R?如何通过 R 中以前的数据框名称重命名合并数据框的列名称?
【发布时间】:2019-01-10 09:49:16
【问题描述】:

我有六个数据框(all_road_25、all_road_50、all_road_100、all_road_300、all_road_500、all_road_1000),所有数据框都包含同一列“站点”和另一列“长度”。我想通过同一列“站点”加入所有这些列,其余列名称显示原始数据框。所以我尝试了:

all_roads_variables<- list(all_road_25, all_road_50, all_road_100,
                       all_road_300, all_road_500, all_road_1000) %>% 
                    reduce(full_join, by = "site") 
names(all_roads_variables)[2:7] <- c("all_road_25","all_road_50","all_road_100",
                                 "all_road_300", "all_road_500", "all_road_1000 ")

它给出了我想要的结果,但我必须手动复制原始数据框的所有名称。 有没有办法让脚本更短?

【问题讨论】:

  • 你最初是如何得到六个 data.frame 的?您是否必须一次手动输入所有这些内容?似乎这些应该已经在一个列表中。有很多方法可以让这部分变得更容易。
  • @MrFlick 我为所有具有不同半径的道路做了缓冲,并手动输入了所有值。我应该为此使用 lapply 。感谢您的建议!

标签: r merge rename


【解决方案1】:

我们可以使用mget 来执行此操作。它将给出所有具有相似模式名称的数据集的命名list

all_roads_variables <- mget(ls(pattern = "^all_road_\\d+"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 2018-05-27
    • 2018-04-12
    • 2022-07-01
    • 2023-03-24
    • 2021-11-15
    • 2018-01-04
    相关资源
    最近更新 更多