我需要编写一个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]
}
答案 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)
}