概率论
概率,概率分布,随机变量
1
Function Purpose
dnorm Normal density
pnorm Normal distribution function
qnorm Normal quantile function
rnorm Normal random variates
2 离散分布函数 连续分布
离散分布 R中的名字
Binomial binom
Geometric geom
Hypergeometric hyper
Negative binomial (NegBinomial) nbinom
Poisson pois
连续分布 P198
注意: 使用上述分布的时候,要记得使用参数
3 使用R中的帮助
> ?Normal
计算组合排列函数
1 组合,使用 choose函数
n!/r!(n − r)!
choose(5,3)
> 10
2 排列函数,使用 combn(items,k)
从items中,选出k个元素的方案,不重复
> combn(c("T1","T2","T3","T4","T5"), 3)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "T1" "T1" "T1" "T1" "T1" "T1" "T2" "T2" "T2" "T3"
[2,] "T2" "T2" "T2" "T3" "T3" "T4" "T3" "T3" "T4" "T4"
[3,] "T3" "T4" "T5" "T4" "T5" "T5" "T4" "T5" "T5" "T5"
产生随机数
1 产生【0,1】中的N个均匀随机数
> runif(n)
2 产生 n个正态分布的随机数
> rnorm(n)
3 例子
> runif(1,min=-3,max=3)
[1] 0.8554088
> rnorm(1)
[1] -1.144729
> rnorm(1,mean=10,sd=15)
[1] 33.42362
> rbinom(1,size=10,prob = 0.5)
[1] 3
> rpois(1,lambda = 10)
[1] 10
> rexp(1,rate=0.1)
[1] 10.19166
> rgamma(1,shape = 2,rate = 0.5)
[1] 4.000311
[1] 0.8554088
> rnorm(1)
[1] -1.144729
> rnorm(1,mean=10,sd=15)
[1] 33.42362
> rbinom(1,size=10,prob = 0.5)
[1] 3
> rpois(1,lambda = 10)
[1] 10
> rexp(1,rate=0.1)
[1] 10.19166
> rgamma(1,shape = 2,rate = 0.5)
[1] 4.000311
产生可重复性好的随机数
1 set.seed(666)
> set.seed(165) # Initialize the random number generator to a known state
> runif(10)
[1] 0.1159132 0.4498443 0.9955451 0.6106368 0.6159386 0.4261986 0.6664884
[8] 0.1680676 0.7878783 0.4421021
生成随机样本
1 sample(vec,n) 函数 从vector中,选出n个items
生成一个样本,不会重复,可以设置replace ,来寻求是否不重复
生成随机序列
> sample(c(FALSE,TRUE), 20, replace=TRUE, prob=c(0.2,0.8))
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE
[13] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE
随机置换
sample(v) ===等价于=== sample(v, size=length(v), replace=FALSE)
> sample(1:10)
[1] 5 8 7 4 3 9 2 6 1 10
计算离散分布概率
以 d 为前缀,代表分布密度
以 p 为前缀,代表分布函数
Distribution Density function: P(X = x) Distribution function: P(X ≤ x)
Binomial dbinom(x, size, prob) pbinom(x, size, prob)
Geometric dgeom(x, prob) pgeom(x, prob)
Poisson dpois(x, lambda) ppois(x, lambda)
设置lower.tail=FALSE 即为P(x>=X)