#=============================================================================== #. Título: Inferência Estatística - Intervalo de Confiança para a Média #. Autor : José Cláudio Faria/UESC/DCET # Data : 30/08/2021 19:01:16 #=============================================================================== # Objetivos #=============================================================================== # - Possibilitar o entendimento dos mecanismos de tomada de decisão em situação # de incerteza (inferência) cercando o parâmetro populacional desconhecido. # # - Determinar o intervalo de confiança para a média populacional #=============================================================================== #.. ___Ini opções___ #.. Parâmetros da população Mpop = 10 # média DPpop = 1 # desvio padrão N = 10000 # tamanho #.. Tamanho das amostras, erro e quantidade de repetições do processo inferencial n1 = 20 # tamanhos da amostras n2 = 20 erro1 = 0.900 # erros adotado erro2 = 0.990 r = 100 # número de repetições do processo inferencial #.. ___Fim opções___ vic1 = numeric() # vetor de armazenamento do intervalo de confiança vic2 = numeric() pop = rnorm(N, Mpop, DPpop) # gera população # loop para amostragem sequêncial for (i in 1:r) { amo1 = sample(pop, n1, r=TRUE) # retira amostra de tamanho n de pop com reposição vic1 = cbind(vic1, t.test(amo1, conf.level=erro1)$conf.int) # calcula o IC(M) (5% de erro) do # vetor 'amo' e armazena na matriz 'vic' amo2 = sample(pop, n2, r=TRUE) # retira amostra de tamanho n de pop com reposição vic2 = cbind(vic2, t.test(amo2, conf.level=erro2)$conf.int) # calcula o IC(M) (5% de erro) do } # edit(t.test(amo1)) # observar opcionalmente o objeto denominado t.test(amo) # is.list(t.test(amo1)) # verificar a natureza do objeto 't.test(amo)' # vic1 # visualizar objeto 'vic' # plotar as médias de cada coluna de v (cada amostra) par(mfcol=c(2,1)) plot(apply(vic1, 2, mean), ylim=c(min(vic1), max(vic1)), ylab=expression(IC(mu)), xlab='', pch=21, col='brown', bg='orange') # Exemplo da média da primeira coluna de 'v' (primeira amostra) (vic1[1,1] + vic1[2,1]) / 2 apply(vic1, 2, mean) # digitar ?apply para verificar a função apply # Verificar se a média populacional (M = Mpop) está (c[i]=FALSE), # ou não (c[i]=TRUE), contida no intervalo de confiança estimado: # obs: | é igual a OR (ou) # digite ?'|' para ver os operadores lógicos do R # Se o valor mínimo do intervalo estimado é menor que Mpop (min < Mpop), # ou se o valor máximo do intervalo estimado é maior que Mpop (max > Mpop), # obviamente, a média (M=Mpop), não está contida no intervalo. c <- apply(vic1, 2, min) > Mpop | apply(vic1, 2, max) < Mpop # c # visualizar objeto 'c' # Plotar a linha da média populacional conhecida (M=Mpop) abline(Mpop, 0) # intercepto e declividade da reta # plotar os segmentos de reta correspondentes aos intervalos de confiança segments(1:r, vic1[1,], 1:r, vic1[2,], col=c(par('fg'), 'red')[c+1], lwd=1.5) plot(apply(vic2, 2, mean), ylim=c(min(vic2), max(vic2)), ylab=expression(IC(mu)), xlab='r', pch=21, col='brown', bg='tomato') # Exemplo da média da primeira coluna de 'v' (primeira amostra) (vic2[1,1] + vic2[2,1]) / 2 apply(vic2, 2, mean) # digitar ?apply para verificar a função apply # Verificar se a média populacional (M=Mpop) está (c[i]=FALSE), # ou não (c[i]=TRUE), contida no intervalo de confiança estimado: # Obs: | é igual a OR (ou) # digite ?'|' para ver os operadores lógicos do R # Se o valor mínimo do intervalo estimado é menor que Mpop (min < Mpop), # ou se o valor máximo do intervalo estimado é maior que Mpop (max > Mpop), # obviamente, a média (M=Mpop), não está contida no intervalo. c <- apply(vic2, 2, min) > Mpop | apply(vic2, 2, max) < Mpop # c # visualizar objeto 'c' # Plotar a linha da média populacional conhecida (M=Mpop) abline(Mpop, 0) # intercepto e declividade da reta # Plotar os segmentos de reta correspondentes aos intervalos de confiança segments(1:r, vic2[1,], 1:r, vic2[2,], col=c(par('fg'), 'red')[c+1], lwd=1.5)