Teorema central do limite

##== Ini opções =================================================================
## Pop
Mpop <- 10     # Média da pop
Vpop <-  4     # Variância da pop

## Amo
n1  <-    2    # Tamanho da amostra 1
n2  <-   10    # Tamanho da amostra 2
n3  <-  100    # Tamanho da amostra 3
nem <-  1e4    # Número de vezes que a média será estimada (usar 1e3, ..., 1e5)
##== Fim opções =================================================================

## Simulação
pop <- rnorm(nem,
             mean=Mpop,
             sd=sqrt(Vpop))


em1 <- apply(matrix(rnorm(nem*n1,
                          mean=Mpop,
                          sd=sqrt(Vpop)),
                    ncol=n1),
             1, 
             mean)

em2 <- apply(matrix(rnorm(nem*n2,
                          mean=Mpop,
                          sd=sqrt(Vpop)),
                    ncol=n2),
             1, 
             mean)

em3 <- apply(matrix(rnorm(nem*n3,
                          mean=Mpop,
                          sd=sqrt(Vpop)),
                    ncol=n3),
             1,
             mean)

## Plotar gráficos
x11(w=4, h=8)

op <- par(no.readonly=T)

par(mfcol=c(4,1),
    oma=c(0,1,0,1),
    mar=c(3,2,2,2))

## pop
mmY <- c(min(pop),
         max(pop))
plot(pop,
     main='pop',
     cex=2,
     pch='.',
     ylab='',
     xlab='',
     ylim=mmY)

abline(Mpop,
       0,
       col='red')

## em1
plot(em1,
     main=paste('n =',
                n1),
     cex=1,
     col='red',
     pch='.',
     ylab='',
     xlab='',
     ylim=mmY)

abline(mean(em1),
       0)

## em2
plot(em2,
     main=paste('n =',
                n2),
     cex=1, 
     col='orange',
     pch='.', 
     ylab='',
     xlab='',
     ylim=mmY)

abline(mean(em2), 0)

## em3
plot(em3, 
     main=paste('n =',
                n3),
     cex=1, 
     col='blue',
     pch='.',
     ylab='',
     xlab='',
     ylim=mmY)

abline(mean(em3),
       0)

par(op, no.readonly=T)

## Imprimir resultados numéricos
cat('\n')
cat('pop:\n')
cat('M(pop)      = ', round(mean(pop), 2)); cat('\n')
cat('V(pop)      = ', round(var(pop), 2)); cat('\n\n')

cat('n1:\n')
cat('V(pop)/n1   = ', round((var(pop)/n1), 2)); cat('\n')
cat('s2(m1)      = ', round(var(em1), 2)); cat('\n\n')

cat('n2:\n')
cat('V(pop)/n2   = ', round((var(pop)/n2), 2)); cat('\n')
cat('s2(m2)      = ', round(var(em2), 2)); cat('\n\n')

cat('n3:\n')
cat('V(pop)/n3   = ', round((var(pop)/n3), 2)); cat('\n')
cat('s2(m2)      = ', round(var(em3), 2)); cat('\n\n')