有没有一种简单的方法可以使用基于数组中每个单元格索引的函数来初始化数组?
例如,如果我想创建一个值等于 i+j+k 的数组,这样(例如):
> A[1,2,3]
6
> A[4,8,9]
21
我想要一些类似的东西:
A <- array( i+j+k , dim=c(10,10,10) , dimnames=list(i,j,k) )
我是否需要首先创建一个所需大小的数组,然后将函数应用于该数组(即两阶段过程)?或者有没有办法在创建矩阵的同时初始化所有值?
最佳答案
嵌套外部
调用似乎可以解决问题(这里最多只调用 3 个以提高可见性):
outer(outer(1:3,1:3,"+"),1:3,"+")
或者复制您的示例:
> A=outer(outer(1:10,1:10,"+"),1:10,"+")
> A[1,2,3]
[1] 6
> A[4,8,9]
[1] 21
关于arrays - 有没有办法使用 R 中的表达式/函数初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31177882/