如何将函数应用于数组的索引?

时间:2016-07-29 15:48:37

标签: arrays r apply indices

我想使用数组元素的索引将函数应用于数组。例如,如果我有一个数组 ar,我想计算ar[x,y] <- x + y

使用嵌套for for循环很容易。我想使用apply函数来完成此任务。

ar <- array(data = 1, dim = c(2,2))
for(i in 1:2 ){
  for(j in 1:2){
    ar[i,j] <- i +j
  }
}
ar

2 个答案:

答案 0 :(得分:5)

如果它是二维数组或矩阵,你可以这样做:

row(ar) + col(ar)
#      [,1] [,2]
# [1,]    2    3
# [2,]    3    4

答案 1 :(得分:0)

我们可以使用outer

outer(1:nrow(ar), 1:ncol(ar), FUN = `+`)
#     [,1] [,2]
#[1,]    2    3
#[2,]    3    4