Arrays 数组上的R应用函数

Arrays 数组上的R应用函数,arrays,r,apply,Arrays,R,Apply,我对apply命令有问题,我不明白为什么我的解决方案不起作用 假设我有一个名为$A$的矩阵,维度为$m\times n$。我想对它的每个元素应用一个函数,所以我使用B类(etalim) [1] “矩阵” r我会预先分配数组,然后分配给它: tmp <- matrix(rnorm(100), 10, 10) out <- array(0, dim = c(dim(tmp), 3)) out[,,1] <- apply(tmp, c(1, 2), function(x) x +

我对apply命令有问题,我不明白为什么我的解决方案不起作用

假设我有一个名为$A$的矩阵,维度为$m\times n$。我想对它的每个元素应用一个函数,所以我使用B类(etalim) [1] “矩阵”
r我会预先分配数组,然后分配给它:

tmp <- matrix(rnorm(100), 10, 10)

out <- array(0, dim = c(dim(tmp), 3))

out[,,1] <- apply(tmp, c(1, 2), function(x) x + 1)
out[,,2] <- apply(tmp, c(1, 2), function(x) x - 1)

tmp“如果需要,我会发布我正在使用的特定代码”,是的。这就是你如何提出好问题并快速得到答案的方式。谢谢你的例子。在你的例子中,我根本不会使用循环。当OP在第一次发帖时没有提供一个例子时,我不会花太多时间想出一个现实的答案。我也不会用一个循环来表示某种内在的矢量化
LTV1<-apply(etalim,c(1,2),LTVfunction)
> dim(LTV1)
[1] 36 50
> class(LTV1)
[1] "matrix"
LTV[,,1]<-apply(etalim,c(1,2),LTVfunction)
> dim(LTV)
NULL
> class(LTV)
[1] "list"
tmp <- matrix(rnorm(100), 10, 10)

out <- array(0, dim = c(dim(tmp), 3))

out[,,1] <- apply(tmp, c(1, 2), function(x) x + 1)
out[,,2] <- apply(tmp, c(1, 2), function(x) x - 1)