这几天需要模拟一些数据来作图,顺道整理一下R中生成随机数的几个函数rnorm,runif,

一、服从正态分布的随机数

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

也可以这样:

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

 

二、服从均匀分布的随机数

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

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

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

三、Sample

生成一个1到10之间的随机整数

要生成多个随机数,我们必须增加一个额外的参数,表示允许重复

四、其他

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

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

 

参考资料:
http://blog.csdn.net/zhyoulun/article/details/46413727
http://blog.sina.com.cn/s/blog_4b9acb5201016z68.html
R中help(rnorm)

发表评论

电子邮件地址不会被公开。 必填项已用*标注