r - 如何将带有列表列的小标题转换为数据框列表
问题描述
我有一个tibble
看起来像这样的(我们称之为param_table
):
+--------+------------------+
| name | param |
+--------+------------------+
| apple | <named list [2]> |
+--------+------------------+
| orange | <named list [2]> |
+--------+------------------+
| pear | <named list [2]> |
+--------+------------------+
| banana | <named list [2]> |
+--------+------------------+
- 这个 tibble 是使用
map(safely(...)...)
具有自定义功能的不同水果的结果。 - 例如,调用
param_table$param[[1]]
将返回苹果的结果:
$result
+-----+-------+-------+
| | alpha | beta |
+-----+-------+-------+
| 1 | 0.1 | 1.1 |
+-----+-------+-------+
| 2 | 0.2 | 1.2 |
+-----+-------+-------+
| 3 | 0.3 | 1.3 |
+-----+-------+-------+
| 4 | 0.4 | 1.4 |
+-----+-------+-------+
| 5 | 0.5 | 1.5 |
+-----+-------+-------+
| ... | ... | ... |
+-----+-------+-------+
(There are in total 10,000 rows, skipping the rest here)
$error
NULL
我正在编写一个闪亮的应用程序,我需要直接将表
$result
作为数据框调用。我不能简单地做某事,as.data.frame(param_table$param[[1]]$result)
因为这是针对单个水果的手册,不适用于所有水果。理想情况下,我希望最终结果如下所示:每个水果的参数值为 df 的小标题,而不是包含
$result
and的命名列表error
。换句话说,我想$result
在扔掉的同时保留每个水果$error
。我希望小标题看起来像这样
+--------+-----------------------+
| name | param |
+--------+-----------------------+
| apple | <df[,2] [10,000 × 2]> |
+--------+-----------------------+
| orange | <df[,2] [10,000 × 2]> |
+--------+-----------------------+
| pear | <df[,2] [10,000 × 2]> |
+--------+-----------------------+
| banana | <df[,2] [10,000 × 2]> |
+--------+-----------------------+
- 如果我打电话
param_table$param[[1]]
,它会像这样返回给我苹果的结果:
+-----+-------+-------+
| | alpha | beta |
+-----+-------+-------+
| 1 | 0.1 | 1.1 |
+-----+-------+-------+
| 2 | 0.2 | 1.2 |
+-----+-------+-------+
| 3 | 0.3 | 1.3 |
+-----+-------+-------+
| 4 | 0.4 | 1.4 |
+-----+-------+-------+
| 5 | 0.5 | 1.5 |
+-----+-------+-------+
| ... | ... | ... |
+-----+-------+-------+
我应该编写一个函数来进行这种转换吗?就像是:
for (i in names){
as.data.frame(param_table1[[as.numeric(which(names == i))]])
}
非常感谢您的帮助!
解决方案
您可以使用map
提取所需的组件:
param_table %>%
mutate(param = map(param, ~.x$result))
推荐阅读
- javascript - Javascript - .sort() 返回与原始数组相同
- android - 构建提示以扩展通知或使用带有 CodenameOne 推送消息的通知组
- python - 将两个二进制文件合并为第三个二进制文件
- python - UnboundLocalError:分配前引用的局部变量“x”(房地产价格预测项目)
- python - Google Colab 看不到 .so 文件
- android - 我可以在约束布局 (End_toStartOf) 中链接视图,以便它们包裹在窄屏幕上吗?
- node.js - 有什么方法可以在 node.js 中 30 分钟后运行查询?
- jquery - 带有 jquery 的下拉选择框
- javascript - Vue js - 在使用 v-for 生成的列表中显示/隐藏单个元素
- python - 带有 entry_point 控制台脚本的 Python 包分发