【问题标题】:How to make each iteration unique in a for loop如何使每个迭代在 for 循环中都是唯一的
【发布时间】:2018-11-01 03:29:10
【问题描述】:

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

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

【问题讨论】:

    标签: r loops for-loop


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-13
      • 2017-10-25
      相关资源
      最近更新 更多