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种分布,其他分布和相关函数可见

更多推荐