You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中将含重复名称元素的列表转换为data.frame?

将含重复名称的列表转换为目标data.frame

这里有几种简单的实现方法:

方法1:按名称提取并合并(通用且直观)

先分别提取所有name和values元素,再合并成data.frame:

# 提取所有name元素并合并为向量
name_col <- unlist(l[names(l) == "name"])
# 提取所有values元素并合并为向量
values_col <- unlist(l[names(l) == "values"])
# 生成目标data.frame
df <- data.frame(name = name_col, values = values_col)

方法2:利用矩阵转置(一行代码简洁版)

通过unlist展开列表,再转成矩阵后转成data.frame,最后设置列名:

df <- setNames(
  data.frame(matrix(unlist(l), ncol = 2, byrow = TRUE), stringsAsFactors = FALSE),
  c("name", "values")
)

方法3:通过Map+do.call批量绑定小data.frame

把每一组name和values配对成小data.frame,再批量合并:

df <- do.call(rbind, Map(data.frame, name = l[names(l)=="name"], values = l[names(l)=="values"]))

运行以上任意一种方法后,都能得到你想要的结果:

> df
   name values
1  lol      1
2  kek      2
3  pip      3
4 raph      4
5 mike      2
6  leo      1

内容的提问来源于stack exchange,提问作者trilisser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 05:55:09