如何在for循环中使每个迭代唯一

时间:2018-11-01 03:29:11

标签: r loops for-loop

我正在尝试使用R在多个样本量上收集1000个模拟。最终目标是测试均值,中位数和几何均值返回已知答案的能力。首先,我需要从5个,30个和100个样本大小的正态分布中编码1000个模拟。目前,我的代码打印出的每次迭代完全相同。例如,在for循环中打印5个样本的1000次迭代,相同的五个数字被打印1000次。我该如何预防?我希望每个迭代都是唯一的这是代码,每个样本大小的变量和for循环的概述都是相同的。

#Sample Size of 5
oneA <- round(rnorm(5, mean = 5, sd = 1))
oneAVec <- c(oneA)
for (i in 1:1000){
  print(oneAVec)
}

1 个答案:

答案 0 :(得分:1)

您只是在打印已经定义的变量。如果您希望每个循环都有新的随机数,请在循环内生成它们。

for (i in 1:1000){
  print(round(rnorm(5, mean = 5, sd = 1)))
}

[1] 7 6 7 4 4
[1] 4 4 3 6 4
[1] 5 4 6 5 5
[1] 4 7 3 7 5
[1] 6 4 6 4 5
[1] 4 7 6 4 6
[1] 6 6 3 5 4
[1] 5 4 4 3 5
[1] 6 3 6 6 5
[1] 5 7 4 4 5
[1] 5 5 5 5 5