R语言如何提取list各元素并分别存储到不同独立对象中
R 列表元素拆分赋值为独立对象的实现方法
你需要的拆分赋值效果有两种常见实现方案:
方案1:直接使用解构赋值(和你预期的写法逻辑完全一致)
该方案需要借助zeallot包实现多变量同时赋值:
- 第一步安装加载依赖包:
install.packages("zeallot") library(zeallot)
- 第二步直接按你想要的变量名顺序赋值即可,左边变量顺序和
HRtables的列表元素顺序一一对应:
# 变量名可自定义,对应5列的统计结果 c(employee_name_table, positionid_table, position_table, state_table, zip_table) %<-% HRtables
方案2:基础R原生实现,无需额外安装包
使用list2env函数直接把列表元素写入全局环境:
- 第一步先给列表的每个元素设置对应独立对象的名称:
names(HRtables) <- c("employee_name_table", "positionid_table", "position_table", "state_table", "zip_table")
- 第二步执行写入环境操作:
list2env(HRtables, envir = .GlobalEnv)
操作完成后,你设置的5个变量会直接出现在当前工作环境中,可直接调用。
补充小提示:你原来的代码中
map(tibble(HRdata), ...)可以简化为map(HRdata, ...),purrr的map函数本身就支持直接遍历数据框的每一列。
内容的提问来源于stack exchange,提问作者Taren Shaw
相关产品推荐
相关产品推荐

