【问题标题】:averages in R for 3-dimensional array [duplicate]R中3维数组的平均值[重复]
【发布时间】:2016-03-13 12:03:51
【问题描述】:

在 R 中,我有一个创建 10x10 矩阵的函数。如果我们运行这个函数 n 次,计算这个矩阵中每个元素的平均值的简单方法是什么?以下是我目前正在使用的内容。

      for (i in 1:10) {
    Gs[,i] <- G(N, s[i], m[i] , y[i], x[, i])
  }
  return(Gs)

我想要函数调用的 n 个值矩阵中每个位置的平均值。

【问题讨论】:

  • 您将 n 个函数调用的结果放在哪里?请编辑您的问题。 “这个矩阵中每个元素的平均值”是什么意思。您是指矩阵中每个位置的函数调用的 n 个值的平均值吗?如果是,构造一个3维数组并使用apply()
  • 是的,正是你所说的。来自函数调用的 n 个值矩阵中每个位置的平均值。谢谢,我去看看 apply() 函数
  • 这里可能需要Map函数
  • 欢迎来到 StackOverflow!请阅读有关how to ask a good question 的信息以及如何提供reproducible example。这将使其他人更容易帮助您。

标签: r matrix vector simulation


【解决方案1】:

你可以试试:

Gs.all <- array(NA, dim=c(10, 10, n))
for (k in 1:n) Gs.all[,,k] <- f(...) # the function which returns one Gs
apply(Gs.all, 1:2, mean)

【讨论】:

  • 这很好用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-09
  • 2017-04-12
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 2015-12-08
相关资源
最近更新 更多