常用随机分布函数
在R中各种概率函数都有统一的形式,即一套统一的 前缀+分布函数名:
- d 表示密度函数(density);
- p 表示分布函数(生成相应分布的累积概率密度函数);
- q 表示分位数函数,能够返回特定分布的分位数(quantile);
- r 表示随机函数,生成特定分布的随机数(random)
各种分布的随机数生存函数
rnorm(n, mean=0, sd=1) #正态分布
rexp(n, rate=1) #指数
rgamma(n, shape, rate=1, scale=1/rate) #r 分布
rpois(n, lambda) #泊松
rt(n, df, ncp) #t 分布
rf(n, df1, df2, ncp) #f 分布
rchisq(n, df, ncp=0) #卡方分布
rbinom(n, size, prob) #二项分布
rweibull(n, shape, scale=1) #weibull 分布
rbata(n, shape1, shape2) #bata 分布runif(n,min=0,max=1) #均匀分布
以二项分布为例,实现上述各类函数
dbinom(x, size, prob, log = FALSE)# 可用于计算二项分布的概率。
pbinom(q, size, prob, lower.tail = TRUE, log.p = FALSE)#二项分布的分布函数值
qbinom(p, size, prob, lower.tail = TRUE, log.p = FALSE)#生成二项分布的特定分位数
rbinom(n, size, prob)#生成二项分布的随机数
二项分布随机数
# 例:产生100个n为10,20,50,概率p为0.25的二项分布随机数:
par(mfrow=c(1,3))
p=0.25
for( n in c(10,20,50)) {
x=rbinom(100,n,p)
hist(x,prob=T,main=paste("n =",n))
xvals=0:n
points(xvals,dbinom(xvals,n,p),type="h",lwd=3)
}
par(mfrow=c(1,1))