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$)")

Atividade 3 : Ações das empresas A e B

Criação de vetores - Cotação das empresas A e B

A = c(61, 56, 63, 57, 67, 63, 67, 58, 67, 56)
A
##  [1] 61 56 63 57 67 63 67 58 67 56
B = c(67, 48, 52, 82, 77, 33, 67, 42, 90, 57)
B
##  [1] 67 48 52 82 77 33 67 42 90 57
semana = c(1:10)
semana
##  [1]  1  2  3  4  5  6  7  8  9 10

Juntar as informações em uma tabela

acoes = data.frame(semana, A, B)
acoes
##    semana  A  B
## 1       1 61 67
## 2       2 56 48
## 3       3 63 52
## 4       4 57 82
## 5       5 67 77
## 6       6 63 33
## 7       7 67 67
## 8       8 58 42
## 9       9 67 90
## 10     10 56 57

Gráfico de linhas

plot(semana, A, 
     type = "l", 
     col = "purple",
     lwd = 2,
     pch = 18,
     ylim = c(30,95),
     main = "Cotação das Ações",
     ylab = "Cotações")

lines(semana, B, 
      type = "l",
      col = "#e2b8f2",
      lwd = 2,
      pch = 18)

legend(8.5, 50, 
       c("Ações de A", "Ações de B"), 
       col = c("purple", "#e2b8f2"),
       lty = 1,
       pch = 18,
       cex = 0.75)

Comparando as ações das empresas A e B

Médias das cotações

Média de A

mean(A)
## [1] 61.5

Média de B

mean(B)
## [1] 61.5