R语言 如何将多个tibles的列表取消列出到不同的数据框中并重命名它们?

fzsnzjdm  于 2023-05-26  发布在  其他
关注(0)|答案(1)|浏览(145)

我需要将多个tibles的列表取消列出到不同的 Dataframe 中。此外,我想在每个未列出的数据框的名称中添加“_new”。我尝试了以下方法,但重命名并没有如我所愿(即,两个单独的 Dataframe 称为(a_new和b_new))。此外,我更喜欢避免使用循环,但不确定如何使用apply函数。你能帮我吗?

old_list <- list( a = tibble(AAA = rep("HEN", 16), 
                             BBB = rep(1, 16), 
                             CCC = rep(14, 16)),
                  b = tibble(GGG = rep("DOG", 16), 
                             DDD = rep(5, 16), 
                             FFF = rep(9, 16)))

new <- list()
for (name in names(old_list)){
  rename_tables <- paste0(name,"_new")
  new[[rename_tables]] <- list2env(old_list, envir = .GlobalEnv)
}
nbnkbykc

nbnkbykc1#

一种方法:

new_list <- setNames(old_list, paste0(names(old_list), '_new'))

如果需要的话,将df生成到您的工作场所;- )

new_list |> list2env(envir = .GlobalEnv)

或短:

setNames(old_list, paste0(names(old_list), '_new')) |>
    list2env(envir = .GlobalEnv)

相关问题