R语言中,可以根据不同的分布生成随机数
均匀分布
runif(par1)
runif(par1, min = par2, max = par3)
我们需要输入3个参数:
par1:生成随机数的个数
par2~par3:均匀分布的区间
第一行的语句,只输入一个参数,R默认为服从 [0,1] 区间的均匀分布。
比如我们想生成5个服从 [-1,10] 区间均匀分布的随机值,
runif(5,min = -1,max = 10)
输出结果:
[1] 6.5911125 8.3191011 9.6078869 3.4657873 -0.2967177
正态分布
rnorm(par1)
rnorm(par1,mean = par2,sd = par3)
3个参数分别表示为:
par1:生成随机数的个数
par2:正态分布的均值
par3:正态分布的标准差(这里是标准差,很多给的数据是方差)。
第一行的语句,只输入一个参数,R默认为服从均值为0,标准差为1的正态分布。
比如我们想生成5个服从均值为3,标准差为10的随机值,
rnorm(5, mean = 3, sd = 10)
输出结果:
[1] -3.398719 4.423347 7.187333 3.527209 5.887148
二项分布
rbinom(par1, par2, par3)
3个参数分别表示为:
par1:生成随机数的个数
par2:表示试验的次数
par3:一次试验成功的概率
比如我们想生成5个试验次数为100,概率为0.25的随机值,
rbinom(5, 100, 0.25)
输出结果:
[1] 28 26 25 32 29
指数分布
rexp(par1)
rexp(par1,par2)
2个参数分别表示为:
par1:生成随机数的个数
par2:rate(这里注意是均值的倒数)
第一行的语句,只输入一个参数,R默认为服从均值为1的指数分布。
比如我们想生成5个服从均值为10的随机值,
rexp(5,1/10)
输出结果:
[1] 11.7191309 8.3068618 4.6429899 0.5546308 10.3557350
以上是较为常用的4种分布,其他分布和相关函数可见。