重复20次,但不能得到20个随机输出

时间:2017-12-08 05:21:34

标签: r loops vector random

我目前正在编程循环并创建了一个名为growth_rate的向量。我想使用rnorm函数为此向量绘制一个随机数20次。我用来做这个的代码是

growth_rate <- rep((rnorm(n = 1, mean = 1, sd = 0.4)), times = 20)  

我还制作了一个名为

的矢量
rate <- rnorm(n = 1, mean = 1, sd = 0.4)

制作名为

的矢量
grate <- rep(rate, 20) 

它仍然输出相同的数字20次而不是20个随机数,例如

  

[1] 1.304936 1.304936 1.304936 1.304936 1.304936 1.304936 1.304936 1.304936 1.304936

依旧......

无论如何,我可以在一个向量中输出20个随机数而不是使用rnorm制作20个单独的向量吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您想从同一正态分布中抽取20个样本,只需使用rnorm(20, ...)

set.seed(2017);
rnorm(20, mean = 1, sd = 0.4);
#[1] 1.1843665 0.4939755 0.7252589 0.8217352 1.4896327 1.1439255 1.1603086
#[8] 1.0442731 0.7776635 1.7147653 1.1991402 0.2133531 1.2805424 0.8108834
#[15] 0.5728705 0.9128100 0.5895982 0.7084435 0.7499843 0.3253227

在您的方法中,首先从正态分布中绘制一个样本,然后将相同的数字复制20次。