繁体   English   中英

R访问数组内部列表内的向量

[英]R Accessing vector inside list inside Array

我在R中有一个很长的Array(1955x2417x1),其中每个位置存储两个长度为5的向量(分别称为“ max”和“ min”)的列表。

我想找到一种创建多维数组(dim 1955x2417x5)的简单方法,其中每个位置都从向量“ max”持有一个值我已经查看了答案,例如r中的列表数组

但到目前为止没有成功。 我知道我可以使用以下方法访问数组每个位置的列表

myarray[posX, PosY][[1]][["max"]]

但是如何将其应用于整个数组? 到目前为止,我已经尝试过

newArray <- array( unlist(myarray[][[1]][["max"]]), c(1955, 2417, 5))

NewArray <-parApply(cl, myarray, c(1:2), function(x) {
  a=x[[1]][["max"]]
 } )

但是结果不对。

你有什么建议吗?

e <- list(min = 1:3, max = 4:6)
arr <- array(list(e)[rep(1, 8)], c(2, 4))
dim(arr)
# [1] 2 4

然后一个选择是

res <- apply(arr, 1:2, function(x) x[[1]][["max"]])
dim(res)
# [1] 3 2 4

并且,如果尺寸顺序很重要,

dim(aperm(res, c(2, 3, 1)))
# [1] 3 2 4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM