【问题标题】:How do I apply a function to the indices of an array?如何将函数应用于数组的索引?
【发布时间】:2016-12-04 09:46:45
【问题描述】:

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

使用嵌套的 for 循环很容易。我想使用一个应用函数来完成这个任务。

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

【问题讨论】:

    标签: arrays r apply indices


    【解决方案1】:

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

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

    【讨论】:

    • 抱歉 Psidom,我以为你的答案是我的,所以编辑错了。
    • @42- 没问题。它们看起来太相似了:)
    【解决方案2】:

    我们可以使用outer

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

    【讨论】:

      猜你喜欢
      • 2012-05-22
      • 2016-12-22
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-11
      • 1970-01-01
      相关资源
      最近更新 更多