[英]Unnest matrix in base R
考慮這種形式的嵌套矩陣,其中每個元素都是向量、列表或數據框:
m <- matrix(replicate(3, list(1:3)))
m
# [,1]
#[1,] integer,3
#[2,] integer,3
#[3,] integer,3
一個人如何“取消”這個矩陣? 即得到這個輸出:
unnestFunction(m)
#[[1]]
#[1] 1 2 3
#
#[[2]]
#[1] 1 2 3
#
#[[3]]
#[1] 1 2 3
使用c
:
c(m)
#[[1]]
#[1] 1 2 3
#
#[[2]]
#[1] 1 2 3
#
#[[3]]
#[1] 1 2 3
“只使用c()
”是一種方法。 您還可以刪除維度屬性:
dim(m) <- NULL
str(m)
#------------
List of 3
$ : int [1:3] 1 2 3
$ : int [1:3] 1 2 3
$ : int [1:3] 1 2 3
一個可能的解決方案:
m[T]
#> [[1]]
#> [1] 1 2 3
#>
#> [[2]]
#> [1] 1 2 3
#>
#> [[3]]
#> [1] 1 2 3
另一種可能的解決方案:
lapply(m, identity)
#> [[1]]
#> [1] 1 2 3
#>
#> [[2]]
#> [1] 1 2 3
#>
#> [[3]]
#> [1] 1 2 3
你可以試試
> m[,1]
[[1]]
[1] 1 2 3
[[2]]
[1] 1 2 3
[[3]]
[1] 1 2 3
1)嘗試c
m <- matrix(replicate(3, list(1:3)))
c(m)
給予
[[1]]
[1] 1 2 3
[[2]]
[1] 1 2 3
[[3]]
[1] 1 2 3
2)使用內部表示可能不是一個好主意,但這也確實有效:
structure(m, .Dim = NULL)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.