我有一个昏暗的4x1x4x71x128阵列。 第一个暗淡指的是4种不同的模型。 第三个暗淡指的是较低的CI,相关性,上CI和p值。
我需要的输出是一个新的暗淡1x1x1x71x128数组,其中第一个暗淡是指4个模型中的相关(第3个暗淡)的最大值(第1个暗淡)。
我尝试了以下内容:
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)
它不起作用。我相信我没有正确的循环,但似乎无法弄明白。
先谢谢你的帮助!
答案 0 :(得分:0)
x.max <- apply(x , c(3,4,5) ,
function(x)
ifelse(all(is.na(x)), NA, max(x, na.rm = TRUE)))
解决! 结果是暗淡的4x71x128,第一个暗淡的第二个元素是所需的输出。