将不等长度矩阵列表到R中的数据帧

时间:2018-04-12 17:32:57

标签: r

我的质谱规格列表为2701,每个点的长度矩阵不等(x和y相同,但它们的数量不同)表示M / Z值和丰度,因此每个点的X和Y第1点:2701。因此,这基本上是3D。问题是我无法将其放入数据框中以查看所有数字。也许像这样或横向的东西;

X_value Y_value
1

60       32
26       37
 3        4

2

 6       14
 10       3

1 个答案:

答案 0 :(得分:0)

这是一个tidyverse解决方案。 imap映射每个列表元素并添加一个带索引的列,然后bind_rows组合成一个数据框。

library(tidyverse)
mspec <- list(
  tibble(x = c(60, 26, 3), y = c(32, 37, 4)),
  tibble(x = c(6, 10), y = c(14, 3))
)

mspec %>%
  imap(~ mutate(.x, index = .y)) %>%
  bind_rows()
#> # A tibble: 5 x 3
#>       x     y index
#>   <dbl> <dbl> <int>
#> 1   60.   32.     1
#> 2   26.   37.     1
#> 3    3.    4.     1
#> 4    6.   14.     2
#> 5   10.    3.     2

reprex package(v0.2.0)创建于2018-04-12。