#=============================================================================== #. Título: Revisão de cursos anteriores usando o R #. Autor : José Cláudio Faria # Data : 30/08/2021 19:10:42 # Objetivos: Revisar tópicos importantes via software #=============================================================================== # - Teorema do limite Central - TLC # - Amostragem #=============================================================================== #.. ___Ini opções___ #... Pop Mpop <- 10 # Média da pop Vpop <- 4 # Variância da pop #... Amo n1 <- 2 # Tamanho da amostra 1 n2 <- 5 # Tamanho da amostra 2 n3 <- 10 # Tamanho da amostra 3 n4 <- 100 # Tamanho da amostra 4 nem <- 1e4 # Número de vezes que a média será estimada (usar 1e3, ..., 1e5) #... Influência do aumento progressivo do tamanho da amostra max_n <- 20 # Número máximo do tamanho da amostra rep_m <- 15 # Número de reptições da estimativa da média para cada tamanho da amostra #.. ___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) em4 <- apply(matrix(rnorm(nem*n4, mean=Mpop, sd=sqrt(Vpop)), ncol=n4), 1, mean) #.. Plotar gráficos op <- par(no.readonly=T) par(mar=rep(3, 4)) m <- matrix(c(1, 1, 2, 3, 4, 5, 6, 6), ncol=2, byrow=TRUE) layout(m) # pop mmY <- c(min(pop), max(pop)) plot(pop, main='pop', cex=2, col=gray(.5), pch='.', ylab='', xlab='', ylim=mmY) abline(Mpop, 0) mtext(side=4, padj=.5, cex=.8, expression(paste('E(x)', sep=''))) # em1 plot(em1, # main=paste('n =', # n1), main=substitute(paste('n=', p, ': ', bar(x), ' e E(', bar(x), ')', sep=''), list(p=n1)), cex=1, col='red', pch='.', ylab='', xlab='', ylim=mmY) abline(mean(em1), 0) mtext(side=4, padj=.5, cex=.8, expression(paste('E(', bar(x), ')', sep=''))) # em2 plot(em2, # main=paste('n =', # n2), main=substitute(paste('n=', p, ': ', bar(x), ' e E(', bar(x), ')', sep=''), list(p=n2)), cex=1, col='darkgreen', pch='.', ylab='', xlab='', ylim=mmY) abline(mean(em2), 0) mtext(side=4, padj=.5, cex=.8, expression(paste('E(', bar(x), ')', sep=''))) # em3 plot(em3, # main=paste('n =', # n3), main=substitute(paste('n=', p, ': ', bar(x), ' e E(', bar(x), ')', sep=''), list(p=n3)), cex=1, col='darkblue', pch='.', ylab='', xlab='', ylim=mmY) abline(mean(em3), 0) mtext(side=4, padj=.5, cex=.8, expression(paste('E(', bar(x), ')', sep=''))) # em4 plot(em4, # main=paste('n =', # n4), main=substitute(paste('n=', p, ': ', bar(x), ' e E(', bar(x), ')', sep=''), list(p=n4)), cex=1, col='orange', pch='.', ylab='', xlab='', ylim=mmY) abline(mean(em4), 0) mtext(side=4, padj=.5, cex=.8, expression(paste('E(', bar(x), ')', sep=''))) #.. Influência do aumento sequencial do tamanho da amostra 'n' plot(pop[1:max_n], xaxt="n", main= paste("Influência do aumento do tamanho (n) da amostra \n", rep_m, " estimativas da média p/ cada n", sep=''), ylim=mmY, ylab='', xlab='', type='n') axis(1, at=seq(1, max_n, by=1), las=2) for (i in 1:length(pop[1:max_n])) for(j in 1:rep_m) points(x=i, y=mean(sample(pop, i)), col=gray(.4), cex=.8) text(x=1:30, y=mmY[1] + .1*mmY[2], label=rep_m, srt=45, col=gray(.6)) abline(Mpop, 0, col=gray(.5)) mtext(side=4, padj=.5, cex=.8, expression(paste('E(x)', sep=''))) par(op, no.readonly=T) #.. Imprimir resultados numéricos cat('\n') cat('pop:\n') cat(' E(pop) = ', round(mean(pop), 2)); cat('\n') cat(' V(pop) = ', round(var(pop), 2)); cat('\n\n') cat('n1:', n1, '\n') cat(' E(m1) = ', round(mean(em1), 2)); cat('\n') cat(' V(pop)/n1 = ', round((var(pop)/n1), 2)); cat('\n') cat(' s2(m1) = ', round(var(em1), 2)); cat('\n\n') cat('n2:', n2, '\n') cat(' E(m2) = ', round(mean(em2), 2)); cat('\n') cat(' V(pop)/n2 = ', round((var(pop)/n2), 2)); cat('\n') cat(' s2(m2) = ', round(var(em2), 2)); cat('\n\n') cat('n3:', n3, '\n') cat(' E(m3) = ', round(mean(em3), 2)); cat('\n') cat(' V(pop)/n3 = ', round((var(pop)/n3), 2)); cat('\n') cat(' s2(m2) = ', round(var(em3), 2)); cat('\n\n') cat('n4:', n4, '\n') cat(' E(m4) = ', round(mean(em4), 2)); cat('\n') cat(' V(pop)/n4 = ', round((var(pop)/n4), 2)); cat('\n') cat(' s2(m2) = ', round(var(em4), 2)); cat('\n\n')