美文网首页
R语言学习笔记4-随机数的产生

R语言学习笔记4-随机数的产生

作者: 75d3f95b058e | 来源:发表于2018-04-10 12:06 被阅读617次

    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) # 添加指数分布密度线
    

    相关文章

      网友评论

          本文标题:R语言学习笔记4-随机数的产生

          本文链接:https://www.haomeiwen.com/subject/dozuhftx.html