1、均匀分布随机数
在R语言中,生成均匀分布随机数的函数是:runif()
基本语法:runif(n, min=0, max=1),n表示生成的随机数的数量,min表示均匀分布的下限,max表示均匀分布的上限;在默认状态下,min=0,max=1,也可以指定。
例1:
> runif(10) # 生成10个[0,1]上的均匀分布随机数
[1] 0.22640211 0.44554231 0.51034146 0.43492569 0.02381349 0.16912671 0.56014004 0.67121007 0.99790301 0.72515818
例2:
> runif(5,.5,3) # 生成5个均匀分布随机数,并指定其分布区间[0.5,3]
[1] 1.559970 2.113296 1.405775 2.280277 1.398960
2、正态分布随机数
在R语言中,生成正态分布随机数的函数是:rnorm()
基本语法:rnorm(n,mean=0,sd=1),其中,n表示随机数的数量,mean表示正太分布的均值,默认为0,sd表示正太分布的标准差,默认为1;
例3:
> x=rnorm(100) # 生成100个均值为0,标准差为1的正态分布随机数
> hist(x,prob=T,main="normal mu=0,sigma=1") # 作概率直方图
> curve(dnorm(x),add=T) # 添加正态分布的密度函数线
3、二项分布随机数
在R语言中,生成二项分布随机数的函数是:rbinom()
基本语法:rbinom(n,size,prob),n表示生成的随机数的数量(代表试验成功的次数,涵义解释参见《R语言学习笔记3-生成二项分布随机数》),size表示进行伯努利试验的次数,prob表示一次伯努利试验成功的概率。
例4:
> rbinom(20,100,.5)
[1] 52 53 45 52 43 53 56 47 53 51 53 51 50 51 48 51 48 48 51 52
4、指数分布随机数
在R语言中,生成指数分布随机数的函数是rexp()
基本语法:rexp(n,lamda=1),n表示生成的指数分布随机数的数量,lamda表示指数分布随机数的均值的倒数,即lamda=1/mean,默认为1,即默认生成均值为10的随机数。
例5:
> x=rexp(100) # 生成100个均值为1的指数分布随机数
> mean(x) # 查看均值,约为1
[1] 1.1335
例6:
> x=rexp(100,1/10) # 生成100个均值为10的指数分布随机数
> mean(x)
[1] 10.50919
> x=rexp(100,.1) # .1同1/10
> mean(x)
[1] 9.366332
> hist(x,prob=T,col=gray(.9),main="mean=10") # 作直方图
> curve(dexp(x,1/10),add=T) # 添加指数分布密度线
网友评论