如何将含双元素子列表的List转换为双列DataFrame?
解决方案:将含双元素子列表的List转为Source-Target格式DataFrame
先确认示例数据
假设你的列表结构如下:
my_list <- list(c("A", "C"), c("A", "D"), c("C", "D"))
方法1:基础R实现
无需额外包,通过矩阵转数据框的方式快速完成转换:
# 将子列表绑定为矩阵,再转为数据框 df <- as.data.frame(do.call(rbind, my_list), stringsAsFactors = FALSE) # 重命名列 colnames(df) <- c("Source", "Target")
方法2:Tidyverse风格实现
如果你习惯用tidyverse工具链,可以用purrr和tibble完成转换:
library(tidyverse) # 遍历每个子列表,生成含Source/Target的行,再合并为数据框 df <- map_dfr(my_list, ~ tibble(Source = .x[1], Target = .x[2]))
两种方法最终都会得到你需要的DataFrame结构:
| Source | Target |
|---|---|
| A | C |
| A | D |
| C | D |
内容的提问来源于stack exchange,提问作者jacbin76
相关产品推荐
相关产品推荐

