【发布时间】:2021-03-16 23:02:27
【问题描述】:
我有一堆数据集,我想将重命名函数应用于所有列。我已经构建了该函数,并达到了我有一个带有重命名列的数据框列表的地步,但我一直坚持如何将这些数据框重新分配回原始数据框。有人可以帮助我完成最后一步或建议更简单的方法吗?
A = data.frame(Var 1 = c(1,2,3,4), Var 2 = c(1,2,3,4))
B = data.frame(Var 3 = c(1,3,4,7), Var 4 = c(1,2,3,4))
better_names <- function(x) {
names(x) <- names(x) %>% stringr::str_replace_all("\\s","_") %>% tolower
return(x)
}
list_data <- list(A, B)
l <- lapply(list_data, better_names)
【问题讨论】:
-
您想将
data.frames 保留在您的list_data对象中吗?尝试使用“data.table”中的setnames重命名您的data.frame列。better_names的主体可能是:data.table::setnames(x, names(x) %>% stringr::str_replace_all("\\s","_") %>% tolower)[](但请注意,如果您使用这种方法,data.frame"A" 和data.frame"B" 可能也会有新名称。