r - 如何将 2 个列表的列表变成 2 个的单个列表?
问题描述
所以我有一个曲线列表,每条曲线都用 x 和 y 坐标列表表示。我想通过将所有曲线的 x 坐标和所有曲线的 y 坐标组合到一个 x 和 y 坐标列表中来制作一条长曲线。
这是一个例子,假设我有
toy <- list(list(c(1,2,3), c(4,5,6)), list(c(0,0), c(1,1)), list(c(1,2), c(1,2)))
toy
[[1]]
[[1]][[1]]
[1] 1 2 3
[[1]][[2]]
[1] 4 5 6
[[2]]
[[2]][[1]]
[1] 0 0
[[2]][[2]]
[1] 1 1
[[3]]
[[3]][[1]]
[1] 1 2
[[3]][[2]]
[1] 1 2
我怎样toy
才能看起来像
[[1]]
[[1]][[1]]
[1] 1 2 3 0 0 1 2
[[1]][[2]]
[1] 4 5 6 1 1 1 2
?
解决方案
这是一个选项transpose
library(dplyr)
library(purrr)
transpose(toy) %>%
map(flatten_dbl) %>%
list
#[[1]]
#[[1]][[1]]
#[1] 1 2 3 0 0 1 2
#[[1]][[2]]
#[1] 4 5 6 1 1 1 2
或使用base R
list(lapply(asplit(t(simplify2array(toy)), 2), unlist))
推荐阅读
- javascript - 为什么我的函数没有输出到我的表?
- python - python中可回溯的类继承
- prestashop - 如何知道我的承运人是否在店内取货
- reactjs - 在 React/Bootstrap 4 中,禁用按钮以防止重复提交表单的正确方法是什么?
- javascript - 为什么“数字”使“否则如果”在这里工作?
- java - 有没有办法减慢 selenium 中的 firefox 执行速度?
- page-setup - 如何在.NET应用程序中制作Notepad.exe的“PageSetting”对话框?
- c# - 无法解析以供参考 Microsoft.Azure.WebJobs.Extensions - 元数据生成失败
- php - Woocommerce 中国产品属性分类的特殊编码
- java - Spring JPA 中的@Entity 是什么?