重命名多个数据集中的列 R
Rename columns in multiple data sets R
我有一堆数据集,我想对其所有列应用重命名函数。我已经构建了这个函数,并到达了我有一个包含重命名列的数据框列表的地步,但我仍然坚持如何将这些数据框重新分配回原始数据框。有人可以帮助我完成最后一步或建议更简单的方法吗?
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)
我们可以将输出命名为 list
,然后使用 list2env
对全局环境中存在的对象进行更改(尽管不推荐)
names(l) <- c('A', 'B')
list2env(l, .GlobalEnv)
-检查对象
A
# var_1 var_2
#1 1 1
#2 2 2
#3 3 3
#4 4 4
B
# var_3 var_4
#1 1 1
#2 3 2
#3 4 3
#4 7 4
数据
A <- data.frame(`Var 1` = c(1,2,3,4), `Var 2` = c(1,2,3,4), check.names = FALSE)
B <- data.frame(`Var 3` = c(1,3,4,7), `Var 4` = c(1,2,3,4), check.names = FALSE)
我有一堆数据集,我想对其所有列应用重命名函数。我已经构建了这个函数,并到达了我有一个包含重命名列的数据框列表的地步,但我仍然坚持如何将这些数据框重新分配回原始数据框。有人可以帮助我完成最后一步或建议更简单的方法吗?
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)
我们可以将输出命名为 list
,然后使用 list2env
对全局环境中存在的对象进行更改(尽管不推荐)
names(l) <- c('A', 'B')
list2env(l, .GlobalEnv)
-检查对象
A
# var_1 var_2
#1 1 1
#2 2 2
#3 3 3
#4 4 4
B
# var_3 var_4
#1 1 1
#2 3 2
#3 4 3
#4 7 4
数据
A <- data.frame(`Var 1` = c(1,2,3,4), `Var 2` = c(1,2,3,4), check.names = FALSE)
B <- data.frame(`Var 3` = c(1,3,4,7), `Var 4` = c(1,2,3,4), check.names = FALSE)