如何将多个数据框中的单个列重命名为它们在R中所驻留的数据框的名称? 更新

我目前正在尝试重命名多个数据框中的单个列以匹配R中的数据框名称。

我在网站上看到了一些问题/解决方案,这些问题/解决方案与我尝试执行的操作类似,但似乎都没有动态地执行此操作。我有45个以上的数据框,需要在其中重命名一列,因此可以手动输入每个单独的名称,但很耗时。

Dataframe1 <- column
Dataframe2 <- column
Dataframe3 <- column


I want it to look like this:
Dataframe1 <- Dataframe1
Dataframe2 <- Dataframe2
Dataframe3 <- Dataframe3


The ultimate goal is to have a master dataframe with columns Dataframe1,Dataframe2,and Dataframe3
Advanture 回答:如何将多个数据框中的单个列重命名为它们在R中所驻留的数据框的名称? 更新

我们可以将所有数据集放入list并在list中一次重命名

lst1 <- lapply(mget(ls(pattern = "Dataframe\\d+")),function(x) {
             names(x)[5] <- "newcol"
             x})

更新

如果我们要重命名具有不同名称的不同数据集中的列,请创建一个与每个“ Dataframe”列名称相对应的列名称向量

nm1 <- c("col5A","col5B","col5C",...,"col5Z")
lst2 <- Map(function(x) {names(x)[5] <- y; x},mget(ls(pattern = "Dataframe\\d+")),nm1)

在上面的代码中,我们将第5列重命名为'newcol'。


也可以使用tidyverse

library(dplyr)
library(purrr)
map(mget(ls(pattern = "Dataframe\\d+")),~ .x %>%
            rename_at(5,~ "newcol"))
本文链接:https://www.f2er.com/3149588.html

大家都在问