Introdução : Assuntos abordados

Aprenderemos como visualizar e analisar variáveis quantitativas contínuas por meio de histogramas e boxplots. Usaremos exemplos reais e simulados com dois conjuntos de dados:

Notas de Física de uma turma

100 maiores salários de desenvolvedores de software no Brasil

Gráficos para variáveis quantitativa contínua : histograma

O histograma agrupa os dados contínuos em faixas (classes) e mostra quantas observações caem em cada faixa. É ideal para:

Analisar a distribuição de dados

Detectar assimetria ou curtose

Comparar efeitos de transformações nos dados (ex: bonificações) ## Atividade 1 : notas de física

Vetor de notas

notas = c(0.8, 2, 2, 2.5, 2.5, 3.5, 4.5, 5, 5.4, 5.5, 5.5, 5.5,
          6, 6, 6, 6, 6.3, 6.5, 6.8, 6.8, 7, 7, 7, 7, 7.3, 7.3,
          7.5, 7.5, 7.5, 7.5, 7.8, 8, 8, 8, 8)

Gráfico de barras (frequência exata por nota)

tabnotas = table(notas)
barplot(tabnotas)

### Histograma com 5 classes

hist(notas,
     nclass = 5,
     right = FALSE,
     ylim = c(0,30),
     col = c("#c252fa", "#f4fa52", "aquamarine", "#ffc2f2"),
     main = "Histograma das notas de física",
     xlab = "Notas da turma",
     ylab = "Frequência absoluta")

Bonificações nas Notas

Bonificação 1: +1 ponto

notas1 = notas + 1

Histograma - Bonificação 1

hist(notas1,
     breaks = c(1,3,5,7,9),
     right = FALSE,
     ylim = c(0,30),
     xlim = c(0,10),
     col = "blue",
     main = "Notas de física somando 1 ponto",
     xlab = "Notas da turma",
     ylab = "Frequência absoluta")

Bonificação 2: +20%

notas2 = notas * 1.2

Histograma - Bonificação 2

hist(notas2,
     breaks = c(0, 2.4, 4.8, 7.2, 9.6),
     right = FALSE,
     ylim = c(0,30),
     xlim = c(0,10),
     col = "#37fae3",
     main = "Notas de física aumentadas em 20%",
     xlab = "Notas da turma",
     ylab = "Frequência absoluta")

Atividade 2 : 100 maiores salários de desenvolvedores de softwares

Vetor de salários (em reais)

salarios <- c(
  14688, 14792, 14876, 14912, 15008, 15121, 15188, 15202, 15245, 15300,
  15312, 15398, 15422, 15487, 15505, 15534, 15545, 15602, 15656, 15667,
  15687, 15702, 15728, 15755, 15769, 15802, 15845, 15900, 15955, 15989,
  16000, 16022, 16034, 16088, 16123, 16167, 16202, 16256, 16300, 16345,
  16400, 16422, 16430, 16487, 16520, 16566, 16602, 16645, 16689, 16700,
  16733, 16765, 16789, 16800, 16845, 16867, 16889, 16900, 16945, 16967,
  16988, 17000, 17022, 17045, 16890, 17066, 17089, 17100, 17145, 17189,
  17202, 17222, 17256, 17289, 17300, 17322, 17345, 17366, 17389, 17400,
  17433, 17456, 17467, 17489, 17500, 17545, 17556, 17567, 17578, 17600,
  17622, 17633, 17645, 17667, 17689, 17700, 17733, 17789, 17845, 18515
)

salarios_mil = salarios / 1000  # Convertendo para mil R$

Histograma dos salários

hist(salarios_mil,
     breaks = seq(14.6, 18.6, by = 0.4),
     col = "#6783cf",
     main = "Histograma dos 100 maiores salários de desenvolvedores de software no Brasil",
     xlab = "Salário (mil R$)",
     ylab = "Frequência absoluta",
     xlim = c(14, 19),
     ylim = c(0, 22))

media = mean(salarios_mil)
q1 = salarios_mil[25]
q2 = salarios_mil[50]
q3 = salarios_mil[75]

abline(v = media, col = "black", lwd = 2, lty = 2)  # média
abline(v = q1, col = "yellow", lwd = 2, lty = 3)   # Q1
abline(v = q2, col = "yellow", lwd = 2, lty = 3)   # Q2
abline(v = q3, col = "yellow", lwd = 2, lty = 3)   # Q3

Adicionando estatísticas ao histograma

Boxplot dos salários

boxplot(salarios_mil,
        horizontal = TRUE,
        col = "purple",
        main = "Boxplot dos salários (mil R$)")