【发布时间】:2019-08-02 10:59:27
【问题描述】:
我有一个结构相同但值不同的数据框列表。我想将每个数据框中的一列重命名为数据框名称,以便稍后将这些单列合并到一个数据框中,并带有一个因子列。
假设我希望重命名 mtcars 中的第 4 列。
mt1 <- mtcars
mt2 <- mtcars
mt3 <- mtcars
mtlist <- list (m1 = mt1,
m2 = mt2,
m3 = mt3)
change_column_name <- function(x) {
aa <- deparse(substitute(x))
names(x)[4] <- aa
return(x)
}
mtlist <- lapply(mtlist, change_column_name)
不是将第 4 列重命名为数据框名称,而是将其重命名为 X[[i]]。以这种方式在函数外部单独重命名列是可行的,那么为什么将它放在函数内部时它不起作用?
【问题讨论】:
标签: r