向R中的向量添加元素

时间:2018-11-15 13:24:37

标签: r

我正在尝试创建一个模拟n次骰子的函数,n次计算每个骰子中骰子结果的最小值,然后计算最小值的平均值并将值存储到向量中。

append()

我这样调用函数:mindice() 输出为:v [i] <-mean(minima)中的错误:类型为'closure'的对象不可子集

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

我不知道这是否符合您的期望。此函数同时返回最小滚动矢量和平均滚动矢量

mindice <- function(n = 10, m = 3)
  {
  minima <- vector("numeric")
  for(i in 1:n){
  minima = c(minima, min(sample(6,m,replace=T)))
  }
  list(minimum_values=minima,
       mean_minima=mean(minima))
  }
mindice()

答案 1 :(得分:0)

关于使用bulletVector.erase(std::remove_if( bulletVector.begin(), bulletVector.end(), [](auto const& b) { return b->getDuration() == 0; }), bulletVector.end()); 而不是v = vector()的注释应解决您编写函数的方式中的错误。如果您对使用类似R的方法感兴趣,请尝试以下操作:

v = vector

我们一次完成所有卷,而不是分别采样每个卷(更有效),然后将它们放在矩阵中,其中每一列都是一卷mindice2 = function(n = 10, m = 3) { rolls = sample(6, size = m * n, replace = TRUE) rolls = matrix(rolls, nrow = m) minima = apply(rolls, MARGIN = 2, FUN = min) cum_mean = cumsum(minima) / seq_along(minima) return(cum_mean) } 骰子。然后,我们可以使用m来找到最小值,并使用apply来计算每次滚动后的最小值最小值。