[R语言常用函数]生成随机数

服从正态分布的随机数

rnorm(n,mean=0,sd=1)

如果想要生成一个长度为10的向量,向量中的每个值服从标准正态分布,那么可以这样写

[plain]  view plain  copy
  1. > rnorm(10)  
  2.  [1] -0.7125585  2.2070410  1.4730548 -0.6655749  0.5349409 -0.9700122  0.4970766  
  3.  [8] -1.7385672  0.9300553 -0.4663140  

另外,该函数也可以生成服从一般正态分布的随机数,例如

[plain]  view plain  copy
  1. > rnorm(10,mean=1,sd=4)  
  2.  [1] -2.520978  3.567172  1.099416  1.029909 -1.239032  1.363111  0.670465  
  3.  [8]  4.015274 -7.095845  3.050106  

其中mean表示均值,sd表示标准差。

此外,还有其他三个函数,dnorm,pnorm,qnorm。在如上两种基本用法中只是名字有所不同,效果是一样的。当然这三个函数还有自己相应的特殊用法,可以通过help(dnorm)进行查询。


服从均匀分布的随机数

runif(n, min = 0, max = 1)

扫描二维码关注公众号,回复: 1537539 查看本文章

生成一个长度为10的向量,向量中的每个值服从0~1区间上的均匀分布,那么可以这样写

[python]  view plain  copy
  1. > runif(10)  
  2.  [10.68835411 0.14208554 0.53551407 0.30101879 0.64202722 0.06249627 0.80834355  
  3.  [80.26193046 0.90841919 0.94294355  

另外,也可以生成其他区间上的随机数,例如

[python]  view plain  copy
  1. > runif(10,min=5,max=10)  
  2.  [17.771348 8.747055 8.721152 7.517620 6.084385 5.209369 5.532953 5.845175  
  3.  [96.683199 9.708647  

同样的,runif也有其他三个函数,dunif,punif,qunif。


其他

除了生成最常见的均匀分布随机数和正态分布随机数,R还提供了其他各种函数用以生成服从不同分布的随机数,常见的函数如下。

rexp 指数分布
rf F分布
rgamma  Gamma分布
rgeom 几何分布
rhyper 超几何分布
rlnorm 对数正态分布
rlogis Logistic分布
rmultinom 多项分布
rnbinom 负二项分布
rpois 泊松分布
rt t分布
rchisq 卡方分布

猜你喜欢

转载自blog.csdn.net/kwame211/article/details/80625722