【发布时间】:2016-08-21 17:47:44
【问题描述】:
我有一个大型 4 维数组,并希望将此数组子集化为一个列表,其中列表的每个元素都是一个数组。
数据示例:
species<-c("Moose","Deer","Wolf","Bear","Livestock","Human")
unit<-c("A","B")
survey <-1:3
year<-1:3
data <- expand.grid(species=species, unit=unit, survey=survey, year=year)
data$count <- round(rnorm(108,10,2),0)
library(reshape)
data.array <- cast(data, survey~year~unit~species)
data.array 的维度为 [3,3,2,6]
将第 4 维循环到子集是我碰壁的地方。我想按第四维进行子集化,在这个例子中是“物种”。具体来说,我想为每两个物种创建一个数组列表。因此:
array.list <- list()
array.list[[1]] <- data.array[,,,1:2]
array.list[[2]] <- data.array[,,,3:4]
array.list[[3]] <- data.array[,,,5:6]
str(array.list)
完整数据集的第 4 维由 111 个物种组成,因此能够处理奇数的解决方案是最好的。 谢谢!
【问题讨论】: