library(tidyverse)
library(janitor)
library(openintro)tab2_1 <- read_csv2("../data/tab2_1.csv")
cd_brasil <- read_csv2("../data/cd_brasil.csv")Para cada uma das variáveis abaixo, indique a escala usualmente adotada para resumir os dados em tabelas de frequências.
(a) Salários dos empregados de uma indústria.
Razão.
(b) Opinião de consumidores sobre determinado produto.
Ordinal.
(c) Número de respostas certas de alunos num teste com dez itens.
Razão.
(d) Temperatura diária da cidade de Manaus.
Intervalar.
(e) Porcentagem da receita de municípios aplicada em educação.
Razão.
(f) Opinião dos empregados da Companhia MB sobre a realização ou não de cursos obrigatórios de treinamento.
Nominal.
(g) QI de um indivíduo.
Intervalar. 1
Usando os dados da Tabela 2.1, construa a distribuição de frequências das variáveis:
(a) Estado civil.
tab2_1 %>%
tabyl(estado_civil) %>%
mutate(frequencia = n,
proporcao = round(n / sum(n), 4),
porcentagem = round(n / sum(n) * 100, 2)) %>%
select(-n, -percent) %>%
adorn_totals("row") %>%
knitr::kable()| estado_civil | frequencia | proporcao | porcentagem |
|---|---|---|---|
| casado | 20 | 0.5556 | 55.56 |
| solteiro | 16 | 0.4444 | 44.44 |
| Total | 36 | 1.0000 | 100.00 |
(b) Região de procedência.
tab2_1 %>%
tabyl(reg_procedencia) %>%
mutate(frequencia = n,
proporcao = round(n / sum(n), 4),
porcentagem = round(n / sum(n) * 100, 2)) %>%
select(-n, -percent) %>%
adorn_totals("row") %>%
knitr::kable()| reg_procedencia | frequencia | proporcao | porcentagem |
|---|---|---|---|
| capital | 11 | 0.3056 | 30.56 |
| interior | 12 | 0.3333 | 33.33 |
| outra | 13 | 0.3611 | 36.11 |
| Total | 36 | 1.0000 | 100.00 |
(c) Número de filhos dos empregados casados.
tab2_1 %>%
filter(estado_civil == "casado") %>%
tabyl(n_filhos) %>%
mutate(frequencia = n,
proporcao = round(n / sum(n), 4),
porcentagem = round(n / sum(n) * 100, 2)) %>%
rename(numero_de_filhos = n_filhos) %>%
select(-n, -percent) %>%
adorn_totals("row") %>%
knitr::kable()| numero_de_filhos | frequencia | proporcao | porcentagem |
|---|---|---|---|
| 0 | 4 | 0.20 | 20 |
| 1 | 5 | 0.25 | 25 |
| 2 | 7 | 0.35 | 35 |
| 3 | 3 | 0.15 | 15 |
| 5 | 1 | 0.05 | 5 |
| Total | 20 | 1.00 | 100 |
(d) Idade.
tab2_1 %>%
mutate(idade = cut(
idade_anos,
breaks = c(0, 25, 30, 35, 40, 45, 50),
labels = c("20 |-- 25", "25 |-- 30", "30 |-- 35", "35 |-- 40", "40 |-- 45", "45 |-- 50"),
right = FALSE
)) %>%
tabyl(idade) %>%
mutate(frequencia = n,
proporcao = n /sum(n),
porcentagem = n / sum(n) * 100) %>%
select(-n, -percent) %>%
adorn_totals("row") %>%
adorn_rounding(rounding = "half up", digits = 4) %>%
knitr::kable()| idade | frequencia | proporcao | porcentagem |
|---|---|---|---|
| 20 |– 25 | 2 | 0.0556 | 5.5556 |
| 25 |– 30 | 6 | 0.1667 | 16.6667 |
| 30 |– 35 | 10 | 0.2778 | 27.7778 |
| 35 |– 40 | 8 | 0.2222 | 22.2222 |
| 40 |– 45 | 8 | 0.2222 | 22.2222 |
| 45 |– 50 | 2 | 0.0556 | 5.5556 |
| Total | 36 | 1.0000 | 100.0000 |
Para o Conjunto de Dados 1 (CD-Brasil), construa a distribuição de frequências para as variáveis:
(a) População urbana
cd_brasil %>%
mutate(numero_habitantes = cut(
pop_urbana,
breaks = c(0, 500000, 1000000, 5000000, 10000000, Inf),
labels = c("Menos de 500.000", "500.001 a 1.000.000", "1.000.001 a 5.000.000",
"5.000.001 a 10.000.000", "Mais de 10.000.000")
)) %>%
tabyl(numero_habitantes) %>%
mutate(frequencia = n,
proporcao = round(valid_percent, 4),
porcentagem = round(valid_percent * 100, 2)) %>%
select(-n, -valid_percent, -percent) %>%
drop_na() %>%
adorn_totals("row") %>%
knitr::kable()| numero_habitantes | frequencia | proporcao | porcentagem |
|---|---|---|---|
| Menos de 500.000 | 3 | 0.1111 | 11.11 |
| 500.001 a 1.000.000 | 2 | 0.0741 | 7.41 |
| 1.000.001 a 5.000.000 | 15 | 0.5556 | 55.56 |
| 5.000.001 a 10.000.000 | 4 | 0.1481 | 14.81 |
| Mais de 10.000.000 | 3 | 0.1111 | 11.11 |
| Total | 27 | 1.0000 | 100.00 |
(b) Densidade populacional
cd_brasil %>%
filter(densidade != "") %>%
mutate(densidade = as.numeric(as.character(str_replace(densidade, ",", ".")))) %>%
mutate(densidade_populacional = cut(
densidade,
breaks = c(0, 10, 30, 50, 100, Inf),
labels = c("Menos de 10", "10 |-- 30", "30 |-- 50", "50 |-- 100", "Mais de 100")
)) %>%
tabyl(densidade_populacional) %>%
mutate(frequencia = n,
proporcao = n / sum(n),
porcentagem = n / sum(n) * 100) %>%
select(-n, -percent) %>%
drop_na() %>%
adorn_totals("row") %>%
adorn_rounding(rounding = "half up", digits = 4) %>%
knitr::kable()| densidade_populacional | frequencia | proporcao | porcentagem |
|---|---|---|---|
| Menos de 10 | 9 | 0.3333 | 33.3333 |
| 10 |– 30 | 4 | 0.1481 | 14.8148 |
| 30 |– 50 | 4 | 0.1481 | 14.8148 |
| 50 |– 100 | 6 | 0.2222 | 22.2222 |
| Mais de 100 | 4 | 0.1481 | 14.8148 |
| Total | 27 | 1.0000 | 100.0000 |
Contou-se o número de erros de impressão da primeira página de um jornal durante 50 dias, obtendo-se os resultados abaixo:
8 11 8 12 14 13 11 14 14 15
6 10 14 19 6 12 7 5 8 8
10 16 10 12 12 8 11 6 7 12
7 10 14 5 12 7 9 12 11 9
14 8 14 8 12 10 12 22 7 15
(a) Represente os dados graficamente.
erros <- c(8, 11, 8, 12, 14, 13, 11, 14, 14, 15,
6, 10, 14, 19, 6, 12, 7, 5, 8, 8,
10, 16, 10, 12, 12, 8, 11, 6, 7, 12,
7, 10, 14, 5, 12, 7, 9, 12, 11, 9,
14, 8, 14, 8, 12, 10, 12, 22, 7, 15)
df_erros <- as.data.frame(erros)
df_erros %>%
ggplot(aes(x = erros)) +
geom_bar() +
labs(title = "Figura 2.1: Gráfico de Barras",
x = "Número de erros de impressão",
y = "Frequência absoluta") +
scale_y_continuous(expand = c(0,0), breaks = c(2,4,6,8,10), limits = c(0,10)) +
scale_x_continuous(expand = c(.0081,0), breaks = c(5:22)) +
scale_fill_brewer(palette = "Set2") +
theme_classic()(b) Faça um histograma e um ramo-e-folhas.
A principal diferença entre a escala razão e a intervalar, é que a razão aceita o zero absoluto, ou seja, a ausência do fenômeno observado↩︎