code 5.1

x<-rep(seq(1,4), times=100000) #1, 2, 3, 4를 100000번 반복

sample.mean<-c()
temp<-c()

set.seed(12345)

#1000개짜리 표본을 뽑아 평균을 구하는 일을 500번 반복
for (i in 1:500)
{
  temp<-mean(sample(x, size=1000, replace=FALSE))
    sample.mean<-append(sample.mean, temp)
}

summary(sample.mean)    #표본평균의 분포
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.390   2.473   2.499   2.499   2.522   2.599
sd(sample.mean)     #표본평균의 표준편차
## [1] 0.03693191
hist(sample.mean, freq=FALSE)   #표본평균의 히스토그램
lines(density(sample.mean))

code 5.2

표본평균의 분포를 그려보자.

set.seed(12345)

x<-rchisq(100000, 5)
summary(x)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  0.02683  2.68300  4.36800  5.01700  6.64700 33.25000
hist(x, c(seq(0, 38, by=0.5)), freq=FALSE)

#크기가 30인 표본을 100회 뽑아 표본평균의 분포를 나타냄

sample.mean1<-c()
temp<-c()

set.seed(12345)
for (i in 1:100)
{
    temp<-mean(sample(x, size=30, replace=FALSE))
    sample.mean1<-append(sample.mean1, temp)
}

summary(sample.mean1)   
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.824   4.670   4.914   4.996   5.288   6.899
hist(sample.mean1, seq(3,7,by=0.2), prob=TRUE)
lines(density(sample.mean1))

#크기가 300인 표본을 100회 뽑아 표본평균의 분포를 나타냄

sample.mean2<-c()
temp<-c()

set.seed(12345)
for (i in 1:100)
{
    temp<-mean(sample(x, size=300, replace=FALSE))
    sample.mean2<-append(sample.mean2, temp)
}

summary(sample.mean2)   
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   4.474   4.878   5.002   5.005   5.125   5.402
sample.mean2
##   [1] 4.965965 5.033936 4.785961 5.342200 4.931098 4.994906 4.877019
##   [8] 4.958710 4.798352 5.094642 4.892185 5.138506 5.059736 4.904535
##  [15] 4.760595 4.839218 5.253879 4.989746 5.144103 4.818243 4.905804
##  [22] 5.250859 4.757065 5.054648 4.871579 4.755899 5.066727 4.987572
##  [29] 5.034150 4.982978 5.366294 4.878463 4.873007 4.968345 5.002878
##  [36] 5.163856 4.925328 4.655211 5.087077 4.794096 5.113166 4.792424
##  [43] 5.293159 5.059136 5.205906 4.856936 4.988744 5.402128 5.095193
##  [50] 4.772345 4.873935 4.673895 4.970098 4.913178 5.086198 4.979620
##  [57] 5.253149 5.145828 4.823698 5.250921 5.023368 4.784838 5.231819
##  [64] 5.048866 5.161045 4.958417 5.158104 4.926370 5.115038 5.105782
##  [71] 5.216575 5.171603 5.221888 4.999786 5.117038 5.001766 5.321675
##  [78] 5.168335 4.906978 4.811444 4.721846 5.168697 5.120064 5.035058
##  [85] 5.008091 4.473544 4.607614 5.092241 5.109008 5.084353 4.945082
##  [92] 4.678937 5.150199 4.985647 5.273290 5.054938 5.049962 4.619717
##  [99] 5.349958 4.970561
hist(sample.mean2, seq(3,7,by=0.2), prob=TRUE)
lines(density(sample.mean2))