arrays - 有没有办法使用 R 中的表达式/函数初始化数组

标签 arrays r function initialization expression

有没有一种简单的方法可以使用基于数组中每个单元格索引的函数来初始化数组?

例如,如果我想创建一个值等于 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/

相关文章:

javascript - 列出列出的 json 数组内的对象

python - 如何将用户定义的函数应用于每个 numpy 数组元素

java - Spring Boot - JSON 对象数组到 Java 数组

sql - PostgreSQL - 数组值必须以 "{"或维度信息开头

r - 转换为列表时格式化日期

r - 在 R 中使用 logitmfx 计算稳健集群标准误差时出错

r - 如何使用 ggmap 正确连接数据和几何

Python:函数中的列表处理

python - 有没有办法找出哪个 Python 方法可以引发哪个异常或错误

list - Erlang-我的列表理解中的编码功能似乎不起作用?