r - R命名列表到data.frame的列表
问题描述
我有一个这样的清单
lst <- list(
r = list(
c(1:3),
c(2:4)
),
c = list(
c(3:5),
c(4:6)
)
)
并希望将其转换为这样的 data.frame
desired_output <- bind_rows(
tibble(name = "r1", value = c(1:3) %>% list),
tibble(name = "r2", value = c(2:4) %>% list),
tibble(name = "c1", value = c(3:5) %>% list),
tibble(name = "c2", value = c(4:6) %>% list)
)
我试过了
lst %>%
imap(~set_names(.x, paste0(.y, seq_along(.x))))
但后来我不知道如何遵循。
解决方案
您可以使用 :
purrr::imap_dfr(lst, ~tibble(name = paste0(.y, seq_along(.x)), value = .x))
# name value
# <chr> <list>
#1 r1 <int [3]>
#2 r2 <int [3]>
#3 c1 <int [3]>
#4 c2 <int [3]>
推荐阅读
- c - 问题:编译成功但结果错误
- mysql - MySQL 中是否有与 SPSS 中的“do repeat”命令等效的命令?
- javascript - 为什么下拉菜单不调用 VueJS 中的函数?
- plsql - 在 PL/SQL 中计算增量的函数
- reactjs - 为什么我的组件中的 onClick 没有任何反应?
- php - 如何在 PHP 的 echo 语句中选择数组中的项目?
- c - AnsiNext-函数,C
- reactjs - 如何在 React 中显示来自 api 的数据
- grpc - gRPC (Cpp) Streaming - 如果在 grpc_impl::ServerReaderWriter::Read 期间一侧挂起或忘记关闭流,会发生什么?
- sql - oracle中如何根据空值将多行合并为一行