服从正态分布的随机数
rnorm(n,mean=0,sd=1)
如果想要生成一个长度为10的向量,向量中的每个值服从标准正态分布,那么可以这样写
[plain] view plain copy > rnorm(10) [1] -0.7125585 2.2070410 1.4730548 -0.6655749 0.5349409 -0.9700122 0.4970766 [8] -1.7385672 0.9300553 -0.4663140 另外,该函数也可以生成服从一般正态分布的随机数,例如 [plain] view plain copy > rnorm(10,mean=1,sd=4) [1] -2.520978 3.567172 1.099416 1.029909 -1.239032 1.363111 0.670465 [8] 4.015274 -7.095845 3.050106 其中mean表示均值,sd表示标准差。此外,还有其他三个函数,dnorm,pnorm,qnorm。在如上两种基本用法中只是名字有所不同,效果是一样的。当然这三个函数还有自己相应的特殊用法,可以通过help(dnorm)进行查询。
服从均匀分布的随机数
runif(n, min = 0, max = 1)
生成一个长度为10的向量,向量中的每个值服从0~1区间上的均匀分布,那么可以这样写
[python] view plain copy > runif(10) [1] 0.68835411 0.14208554 0.53551407 0.30101879 0.64202722 0.06249627 0.80834355 [8] 0.26193046 0.90841919 0.94294355 另外,也可以生成其他区间上的随机数,例如 [python] view plain copy > runif(10,min=5,max=10) [1] 7.771348 8.747055 8.721152 7.517620 6.084385 5.209369 5.532953 5.845175 [9] 6.683199 9.708647 同样的,runif也有其他三个函数,dunif,punif,qunif。其他
除了生成最常见的均匀分布随机数和正态分布随机数,R还提供了其他各种函数用以生成服从不同分布的随机数,常见的函数如下。
rexp指数分布rfF分布rgamma Gamma分布rgeom几何分布rhyper超几何分布rlnorm对数正态分布rlogisLogistic分布rmultinom多项分布rnbinom负二项分布rpois泊松分布rtt分布rchisq卡方分布