r - R:如何将嵌套列表“取消嵌套”到 data.frame 中?
问题描述
我有
l1 = list(SeriousDlqin2yrs = list(prediction = "0", prediction_probs = list(`0` = 0.5, `1` = 0.5)))
l2 = list(SeriousDlqin2yrs = list(prediction = "1", prediction_probs = list(`0` = 0.6, `1` = 0.4)))
l12 = list(l1, l2)
data.frame.output = l12 %>%
purrr::reduce(dplyr::bind_rows) %>%
unnest(cols = c("SeriousDlqin2yrs", "0", "1"))
我期待这样的数据框(以 CSV 格式表示)
SeriousDlqin2yrs$prediction, SeriousDlqin2yrs$prediction$0, SeriousDlqin2yrs$prediction$1
0, 0.5, 0.5
0, 0.6, 0.4
最好我需要一个解决方案,无论列表中的名称如何,它都能正常工作。
解决方案
你可以做 :
purrr::map_dfr(l12, unlist)
# A tibble: 2 x 3
# SeriousDlqin2yrs.prediction SeriousDlqin2yrs.prediction_probs.0 SeriousDlqin2yrs.prediction_probs.1
# <chr> <chr> <chr>
#1 0 0.5 0.5
#2 1 0.6 0.4
或在基础 R 中:
as.data.frame(do.call(rbind, lapply(l12, unlist)))
推荐阅读
- c - 无法在 vscode 上运行 C 代码
- aws-lambda - 运行无服务器部署的简单 lambda 时找不到模块“处理程序”
- javascript - TypeError:无法在 application2.js 中读取 null 的属性“formData”
- javascript - 使用 Javascript 获取时,公共 API 给了我 CORS
- c++ - Visual Studio Community 2015 安装 (Visual C++)
- c++ - 如果我使用 const 引用作为 constexpr 函数的参数而不是类型,有什么区别?
- node.js - 模拟 fs 因开玩笑而失败:“没有这样的文件或目录,lstat”,并且 mock_fs_1.default 不是函数
- spring - 这个执行切入点表达式是如何工作的?
- python - Pandas 中的分组类别
- php - HTML如何做一个条件:如果复选框被改变