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

如何将键值对嵌套列表高效转换为R DataFrame?

问题:将API返回的嵌套列表高效转换为数据框

我处理的是Web API返回的结果,数据结构和常见的列表转数据框场景不同,示例如下:

listOfListsOfKeyVals <- lapply(1:5, function(i){
    list(
      col1 = i,
      col2 = runif(1)
    )
})

一开始尝试用常规方法转换:

do.call(rbind, listOfListsOfKeyVals)

但仔细查看结果会发现,得到的是列类型为列表的数据框,用tibble()转换后问题更明显:

do.call(rbind, listOfListsOfKeyVals) |> tibble()

# A tibble: 5 × 1
  `do.call(rbind, listOfListsOfKeyVals)`[,"col1"] [,"col2"]
  <list>                                          <list>   
1 <int [1]>                                       <dbl [1]>
2 <int [1]>                                       <dbl [1]>
3 <int [1]>                                       <dbl [1]>
4 <int [1]>                                       <dbl [1]>
5 <int [1]>                                       <dbl [1]>

我自己写了一个解决方案,但处理大数据集时速度极慢:

foreach(x = listOfListsOfKeyVals, .combine = rbind) %do% {
  as.data.frame(x)
} |> tibble()

请问有没有更高效的转换方法?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:05:03