【发布时间】:2016-05-20 18:42:19
【问题描述】:
我有一组暗淡的 4x1x4x71x128。 第一个暗淡指的是 4 种不同的型号。 第三个暗度指的是下置信区间、相关性、上置信区间和 p 值。
我需要作为输出的是一个新的昏暗数组 1x1x1x71x128,其中第一个昏暗指的是 4 个模型(第一个昏暗)中相关性的最大值(第三个昏暗)。
我尝试了以下方法:
newarray <- array(NA, c(1,1,1,71,128))
for (i in 1:4) {
for (j in 1:nrow(array[1,1,1,,])) {
for (k in 1:ncol(array[1,1,1,,])){
newarray[i,1,1,j,k] <- max(array[i,1,1,j,k], na.rm = FALSE)
}
}
}
这返回的不是相关性而是较低 CI 的最大值。但是,当我将操作更改为:
newarray[i,1,1,j,k] <- max(array[i,1,2,j,k], na.rm = FALSE)
它不起作用。我相信我没有正确循环,但似乎无法弄清楚。
提前感谢您的帮助!
【问题讨论】:
-
你试过
apply(array,c(2,4,5),max)吗? -
这将有助于获得具有预期结果的可重复示例 - stackoverflow.com/questions/5963269/…
-
@nicola 不幸的是,建议的代码给了我 NA 值
-
@Bulat 我试图重现一个具有预期结果的示例:
testarray <- array(sample(1:16), c(2,1,2,2,2))resultarray <- array(c(12,14,13,7), c(1,1,1,2,2))testarray[,1,2,,] # to compare resultsresultarray[1,1,1,,] # max value for each grid point
标签: r for-loop multidimensional-array