|
1 | 1 | library(infer)
|
| 2 | +library(tidyverse) |
2 | 3 |
|
3 |
| -sample_mean <- dados %>% |
4 |
| - specify(response = p32c, success = "Sim") %>% |
5 |
| - calculate(stat = "prop") |
6 |
| -# esse aqui ^ você consegue ler o código |
7 |
| -# ele diz o que tá fazendo |
| 4 | +dados <- readxl::read_excel("exemplos_de_aula//BD_CIS0684.xlsx") |
8 | 5 |
|
9 |
| -#mean(dados$p32c == "Sim") |
10 |
| -#sum(dados$p32c == "Sim")/2079 |
11 |
| -# esse aqui vc tem que interpretar o código ^ |
| 6 | +# vamos estimar a distribuição populacional da idade das mulheres. |
| 7 | +# "estimar distribuição" é chutar um histograma |
| 8 | +idade_mulheres <- dados |> |
| 9 | + filter(sexo == "Feminino") |> |
| 10 | + with(idade1) |
12 | 11 |
|
13 |
| -# define a sampling distribution |
14 |
| -sampling_dist <- dados %>% |
15 |
| - specify(response = p32c, success = "Sim") %>% |
16 |
| - assume("z") |
17 |
| -# assume 'z' eu tô mandando o R entender |
18 |
| -# que pra tudo que seguir eu quero que seja |
19 |
| -# considerada uma distribuição teórica normal |
| 12 | +n_mulheres <-dados |> |
| 13 | + filter(sexo == "Feminino") |> |
| 14 | + nrow() |
20 | 15 |
|
21 |
| -# get the confidence interval---note that the |
22 |
| -# point estimate is required here |
23 |
| -ci <- get_confidence_interval( |
24 |
| - sampling_dist, |
25 |
| - level = .95, |
26 |
| - point_estimate = sample_mean |
27 |
| -) |
| 16 | +hist(idade_mulheres) |
28 | 17 |
|
29 |
| -sqrt(sample_mean*(1-sample_mean))/sqrt(2079) |
| 18 | +media_amostral <- mean(idade_mulheres) |
| 19 | +desvio_padrao_amostral <- sd(idade_mulheres) |
30 | 20 |
|
31 |
| -sampling_dist |> |
32 |
| - visualise() + |
33 |
| - shade_confidence_interval(ci) |
| 21 | +# vou chutar o erro da distribuição amostral da média populacional |
| 22 | +erro_media_amostral <-desvio_padrao_amostral/sqrt(n_mulheres) |
34 | 23 |
|
35 |
| -# distribuição t ---------------------------------------------------------- |
| 24 | +media_amostral + 2*erro_media_amostral |
| 25 | +media_amostral - 2*erro_media_amostral |
36 | 26 |
|
37 |
| -library(infer) |
| 27 | +# intervalo de confiança no infer |
38 | 28 |
|
39 |
| -sample_mean <- dados %>% |
40 |
| - specify(response = idade1) %>% |
41 |
| - calculate(stat = "mean") |
42 |
| - |
43 |
| -# define a sampling distribution |
44 |
| -sampling_dist <- dados %>% |
45 |
| - specify(response = idade1) %>% |
| 29 | +sampling_dist <- dados |> |
| 30 | + filter(sexo == "Feminino") |> |
| 31 | + specify(response = idade1) |> |
46 | 32 | assume("t")
|
| 33 | +# aplique o teorema central do limite |
| 34 | +# trocando desvio padrao populacional por |
| 35 | +# desvio padrao amostral (que dá t) |
| 36 | + |
| 37 | +sampling_dist |> |
| 38 | + visualise() |
| 39 | + |
| 40 | +media_amostral <- dados |> |
| 41 | + filter(sexo == "Feminino") |> |
| 42 | + specify(response = idade1) |> |
| 43 | + calculate(stat = "mean") |
47 | 44 |
|
48 |
| -# get the confidence interval---note that the |
49 |
| -# point estimate is required here |
50 | 45 | ci <- get_confidence_interval(
|
51 | 46 | sampling_dist,
|
52 |
| - level = .95, |
53 |
| - point_estimate = sample_mean |
54 |
| -) |
| 47 | + level = .99, |
| 48 | + point_estimate = media_amostral) |
55 | 49 |
|
56 | 50 | sampling_dist |>
|
57 | 51 | visualise() +
|
58 | 52 | shade_confidence_interval(ci)
|
59 | 53 |
|
60 |
| -# distribuicao t amostra pequena ------------------------------------------ |
| 54 | +# eu "roubei" pra fazer essa distribuição... |
61 | 55 |
|
62 |
| -library(infer) |
| 56 | +# o "erro_media_amostral" tem um nome técnico que é "erro padrão" |
| 57 | +# eu "roubei" quando eu fiz o desenho ao lado, porque eu troquei |
| 58 | +# a média populacional pela amostral. |
63 | 59 |
|
64 |
| -sample_mean <- dados %>% |
65 |
| - sample_n(5) |> |
66 |
| - specify(response = idade1) %>% |
67 |
| - calculate(stat = "mean") |
| 60 | +# mas existem resultados estatísticos que me garantem que |
| 61 | +# a distribuição X_barra / desvio_padrao_amostral é aproximadamente t com n-1 |
| 62 | +# graus de liberdades. uma t com mais do que 30 graus de liberdade é aproximadamente |
| 63 | +# normal |
68 | 64 |
|
69 |
| -# define a sampling distribution |
70 |
| -sampling_dist <- dados %>% |
71 |
| - sample_n(5) |> |
72 |
| - specify(response = idade1) %>% |
73 |
| - assume("t") |
| 65 | +# estimar proporções é um caso particular de estimar médias: |
| 66 | +#exemplo: |
| 67 | +quem_gosta_de_sorvete <- c(1, 1, 0, 1, 0) |
| 68 | + |
| 69 | +mean(quem_gosta_de_sorvete)*100 |
| 70 | + |
| 71 | +(3/5)*100 |
| 72 | + |
| 73 | +sqrt(sum((quem_gosta_de_sorvete-mean(quem_gosta_de_sorvete))^2/5)) |
| 74 | + |
| 75 | +prop <- mean(quem_gosta_de_sorvete) |
| 76 | + |
| 77 | +sqrt(prop*(1-prop)) |
| 78 | + |
| 79 | +###### |
| 80 | + |
| 81 | +# intervalo para proporções |
| 82 | + |
| 83 | +sampling_dist <- dados |> |
| 84 | + filter(sexo == "Feminino") |> |
| 85 | + specify(response = p32c, success = "Sim") |> |
| 86 | + assume("z") |
| 87 | + |
| 88 | +prop_amostral <- dados |> |
| 89 | + filter(sexo == "Feminino") |> |
| 90 | + specify(response = p32c, success = "Sim") |> |
| 91 | + calculate(stat = "prop") |
| 92 | + |
| 93 | +sqrt(.27*(1-.27))/sqrt(1089) |
74 | 94 |
|
75 |
| -# get the confidence interval---note that the |
76 |
| -# point estimate is required here |
77 | 95 | ci <- get_confidence_interval(
|
78 | 96 | sampling_dist,
|
79 |
| - level = .95, |
80 |
| - point_estimate = sample_mean |
81 |
| -) |
| 97 | + level = .99, |
| 98 | + point_estimate = prop_amostral) |
82 | 99 |
|
83 | 100 | sampling_dist |>
|
84 | 101 | visualise() +
|
|
0 commit comments