r - 如何使每个迭代在 for 循环中都是唯一的
问题描述
我正在尝试使用 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)
}
解决方案
您只是打印您已经定义的变量。如果您想在每个循环中都有新的随机数,请在循环内生成它们。
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
推荐阅读
- c++ - 检查2个指针是否为空
- amazon-s3 - 如何确保 S3 存储桶名称不与 Terraform 一起使用?
- variables - 使用 SQLCMD 在服务器之间传递标量变量的值
- amazon-ec2 - AWS EC2 实例未从 InstanceProfile 获取凭证
- javascript - jQuery.noConflict() 在 Umbraco 后台不工作
- nginx - nginx rewrite 是相对于 regexp
- elasticsearch - Elasticsearch 是否针对插入进行了优化?
- django - Django multiple reshresh from view
- reactjs - React:从单独的文件中返回函数结果
- pdf - Load pdf fast which was made from photoshop cs6