R语言如何将named list转换为指定结构的data frame
R命名列表转指定结构数据框实现方案
以下是两种可直接运行的实现方案:
方法1:基础R原生实现(无需安装额外包)
使用基础包自带的stack()函数即可直接完成转换,该函数天生适配命名列表转长表的需求:
namedList = list( A = c("a", "b", "c", "d", "g"), B = c("a", "c", "d", "e")) # 转换后修改列名即可得到目标结构 dataFrame <- stack(namedList) colnames(dataFrame) <- c("item", "names")
该方案支持不等长的列表元素,无第三方依赖,适合轻量使用场景。
方法2:tidyverse生态实现
如果项目已经在使用tidyverse系列工具,可以用enframe+unnest的组合实现,和后续tidy数据处理流程兼容性更好:
library(tidyverse) dataFrame <- enframe(namedList, name = "names", value = "item") %>% unnest_longer(item) %>% select(item, names)
内容的提问来源于stack exchange,提问作者M2FKXY
相关产品推荐
相关产品推荐

