对循环的每次迭代进行重新采样,并将计算出的统计信息存储在矩阵中

时间:2018-12-14 06:03:11

标签: r loops for-loop

我需要编写一个for循环,对rgamma(100,1,2)进行重新采样,计算采样统计信息(均值,sd,范围),并将其存储在矩阵中,以便进行每次迭代。我已经阅读了很多for循环文档,并且可以看到循环如何在每次迭代中更改样本大小,而不是重新采样相同的样本大小。我想我也可能会将结果写在矩阵中,但不确定如何解决。到目前为止,我有:

new_data <- rgamma(100,1,2)
ITER <- 1000
results = matrix(c(0), nrow = ITER, ncol = 5)

for (i in 1:ITER){
    d<- new_data(i)
    j = mean(d)
    k = sd(d)
    l = max(d) - min(d)
    m = quantile(d)[[4]]
    results[k,] <- results[i,j,k,l,m]
   }

1 个答案:

答案 0 :(得分:0)

您的索引已关闭。另外,您还必须在for循环中创建一个新样本,否则该练习没有意义。这是一个工作示例:

ITER <- 1000
results = matrix(c(0), nrow = ITER, ncol = 4)

for (i in 1:ITER){
  new_data <- rgamma(100,1,2)
  j = mean(new_data)
  k = sd(new_data)
  l = max(new_data) - min(new_data)
  m = quantile(new_data)[[4]]
  results[i,] <- c(j,k,l,m)
}