美文网首页简友广场散文
R语言抽样并验证总体分别为正态分布、均匀分布、指数分布时样本均值

R语言抽样并验证总体分别为正态分布、均匀分布、指数分布时样本均值

作者: Cache_wood | 来源:发表于2021-03-04 22:50 被阅读0次

    @[toc]

    【练习一】对example1_1.Rdata中数据,利用R软件,完成分别有放回和无放回抽取10名学生的姓名组成一个随机样本,输出学生姓名分别有放回和无放回抽取10名学生的姓名和分数组成一个随机样本,同时输出学生姓名和分数。

    data<-read.csv("E:\\Rcode\\example.csv")
    print(data)
    sample(data$Name.Grade,10,replace=T)
    sample(data$Name.Grade,10,replace=F)
    # replace是T代表返回抽样
    # replace是F代表不返回抽样
    
     Name.Grade
    1    张松,77
    2    王翔,86
    3    田雨,60
    4  徐丽娜,69
    5  张志杰,74
    6    赵颖,44
    7  王智强,66
    8    宋媛,73
    9    袁方,76
    10 张建国,85
    11   李佳,59
    12 马凤良,67
    13   陈风,74
    14   杨波,77
    15 孙学伟,86
    16   林丽,57
    17 谭英健,66
    18 欧阳飞,74
    19   吴迪,77
    20   周祥,85
    21 刘晓军,79
    22 李国胜,92
    23 蒋亚迪,65
    24   崔勇,73
    25 黄向春,76
    26   姜洋,75
    27   隗佳,82
    28 王浩波,96
    29   于静,80
    30   李华,70
    31   高云,75
    32 金梦迪,78
    33 徐海涛,90
    34   张洋,63
    35 李东茗,72
    36   王倩,75
    37 李宗洋,80
    38 刘皓天,92
    39 刘文涛,62
    40   卢阳,61
    41   马强,70
    42 孟子铎,75
    43   潘凯,78
    44   邱爽,92
    45 邵海阳,61
    46 孙梦婷,71
    47   唐健,75
    48   尹韩,63
    49   王迪,73
    50 王思思,93
    > sample(data$Name.Grade,10,replace=T)
     [1] 张志杰,74 卢阳,61   孙学伟,86 刘皓天,92
     [5] 张松,77   金梦迪,78 张建国,85 马凤良,67
     [9] 蒋亚迪,65 张洋,63  
    50 Levels: 陈风,74 崔勇,73 ... 周祥,85
    > sample(data$Name.Grade,10,replace=F)
     [1] 李东茗,72 于静,80   尹韩,63   王翔,86  
     [5] 马凤良,67 邵海阳,61 张志杰,74 隗佳,82  
     [9] 蒋亚迪,65 徐丽娜,69
    50 Levels: 陈风,74 崔勇,73 ... 周祥,85
    > 
    

    练习二:利用R软件验证总体分别为正态分布、均匀分布、指数分布时样本均值的抽样分布

    正态分布

    # case1:X~N(U,Q)
    normfun<-function(n=100,K=1000,mu0=0,sigma0=1){
      sampmeans<-NULL
      for(k in 1:K){
        samples<-rnorm(n,mean=mu0,sd=sigma0)
        sampmeans<-c(sampmeans,mean(samples))
      }
      list(n=n,mu=mu0,sigma=sigma0,sampmeans=sampmeans)
    }
    norm100<-normfun(n=100)
    norm200<-normfun(n=200)
    norm400<-normfun(n=400)
    norm800<-normfun(n=800)
    
    par(mfrow=c(2,2))
    hist(norm100$sampmeans,probability=T,xlab='',main='n=100')
    curve(dnorm(x,mean=0,sd=sqrt(1/100)),col=2,lwd=2,add=T)
    hist(norm200$sampmeans,probability=T,xlab='',main='n=200')
    curve(dnorm(x,mean=0,sd=sqrt(1/200)),col=2,lwd=2,add=T)
    hist(norm400$sampmeans,probability=T,xlab='',main='n=400')
    curve(dnorm(x,mean=0,sd=sqrt(1/400)),col=2,lwd=2,add=T)
    hist(norm800$sampmeans,probability=T,xlab='',main='n=800')
    curve(dnorm(x,mean=0,sd=sqrt(1/800)),col=2,lwd=2,add=T)
    
    在这里插入图片描述

    均匀分布

    # case2:X~unif(0,2*sqrt(3))
    uniffun<-function(n=100,K=1000,a=0,b=1){
      sampmeans<-NULL
      for(k in 1:K){
        samples<-runif(n,a,b)
        sampmeans<-c(sampmeans,mean(samples))
      }
      list(n=n,a=a,b=b,sampmeans=sampmeans)
    }
    unif100<-uniffun(n=100,b=2*sqrt(3))
    unif200<-uniffun(n=200,b=2*sqrt(3))
    unif400<-uniffun(n=400,b=2*sqrt(3))
    unif800<-uniffun(n=800,b=2*sqrt(3))
    
    par(mfrow=c(2,2))
    hist(unif100$sampmeans,probability=T,xlab='',main='n=100')
    curve(dnorm(x,mean=sqrt(3),sd=sqrt(1/100)),col=2,lwd=2,add=T)
    hist(unif200$sampmeans,probability=T,xlab='',main='n=200')
    curve(dnorm(x,mean=sqrt(3),sd=sqrt(1/200)),col=2,lwd=2,add=T)
    hist(unif400$sampmeans,probability=T,xlab='',main='n=400')
    curve(dnorm(x,mean=sqrt(3),sd=sqrt(1/400)),col=2,lwd=2,add=T)
    hist(unif800$sampmeans,probability=T,xlab='',main='n=800')
    curve(dnorm(x,mean=sqrt(3),sd=sqrt(1/800)),col=2,lwd=2,add=T)
    
    在这里插入图片描述

    指数分布

    # case3:X~Exp(y)
    expfun<-function(n=100,K=1000,lam=1){
      sampmeans<-NULL
      for(k in 1:K){
        samples<-rexp(n,rate=lam)
        sampmeans<-c(sampmeans,mean(samples))
      }
      list(n=n,lam=lam,sampmeans=sampmeans)
    }
    exp100<-expfun(n=100)
    exp200<-expfun(n=200)
    exp400<-expfun(n=400)
    exp800<-expfun(n=800)
    
    par(mfrow=c(2,2))
    hist(exp100$sampmeans,probability=T,xlab='',main='n=100')
    curve(dnorm(x,mean=1,sd=sqrt(1/100)),col=2,lwd=2,add=T)
    hist(exp200$sampmeans,probability=T,xlab='',main='n=200')
    curve(dnorm(x,mean=1,sd=sqrt(1/200)),col=2,lwd=2,add=T)
    hist(exp400$sampmeans,probability=T,xlab='',main='n=400')
    curve(dnorm(x,mean=1,sd=sqrt(1/400)),col=2,lwd=2,add=T)
    hist(exp800$sampmeans,probability=T,xlab='',main='n=800')
    curve(dnorm(x,mean=1,sd=sqrt(1/800)),col=2,lwd=2,add=T)
    
    在这里插入图片描述

    相关文章

      网友评论

        本文标题:R语言抽样并验证总体分别为正态分布、均匀分布、指数分布时样本均值

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