Introdução

Segundo Jelihovschi (2014), a importância da Análise Exploratória de Dados (EAD) tem seguido uma trajetória crescente, à medida que o poder de processamento e o tamanho da memória dos computadores foram aumentando, mesmo que os computadores tivessem seu tamanho diminuído. Muitos métodos para Análise Exploratória de Dados foram sendo criados e melhorados, e softwares foram sendo escritos à medida em que aquele processo foi tomando força.

Aqui, vamos aprender como alguns métodos estatísticos nos ajudam a retirar a informação que aqueles dados estão guardando, no segredo da sua desorganização inicial. Vamos organizar a desorganização de tal maneira que ela irá nos ajudar no nosso entendimento da informação nela contida.

Dados Univariados

Vamos começar a análise de dados de uma única variável (univariado). Lembrando que a variável pode ser classificada como: quantititiva (discreta e contínua) ou qualitativa (ordinária ou moninal).

Entrada de Dados

O primeiro passo para se fazer a análise, é como se dará a entrada dos dados. Vamos tratar de três formas distintas de entrada de dados: digitação (diretamente no console do R), importando (csv, xlsx) e download (internet).

Importação Arquivos CSV

Utilizando o atalho do RStudio.

library(readr)

AlunosES2.1 <- read_delim("Aulas/Estatística com R/Estatistica2/AlunosES2.csv", 
    ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   Idade = col_double(),
##   genero = col_character(),
##   municipio = col_character(),
##   notebook = col_character(),
##   `Aulas sincronas` = col_character(),
##   Atividades = col_character()
## )
head(AlunosES2.1)
## # A tibble: 6 x 6
##   Idade genero   municipio  notebook `Aulas sincronas`              Atividades  
##   <dbl> <chr>    <chr>      <chr>    <chr>                          <chr>       
## 1    20 Feminino Itacoatia~ N<U+0323>o       "Pacote de dados m\xcc?veis d~ Tanto faz   
## 2    20 Masculi~ Itacoatia~ N<U+0323>o       "Pacote de dados m\xcc?veis d~ Tanto faz   
## 3    20 Feminino Itacoatia~ N<U+0323>o       "Pacote de dados m\xcc?veis d~ Fazer em eq~
## 4    20 Masculi~ Itapiranga N<U+0323>o       "Wifi em casas de amigos/pare~ Fazer sozin~
## 5    20 Masculi~ Parintins  N<U+0323>o       "Pacote de dados m\xcc?veis d~ Fazer em eq~
## 6    22 Masculi~ Itacoatia~ N<U+0323>o       "Pacote de dados m\xcc?veis d~ Fazer sozin~

Importação Arquivosa XLSX

Com a opção “inlude=FALSE”, a importação não será percebida, o que na maioria dos casos, é o ideal.

Listando as variáveis disponíveis para análise

Para listar os objetos existentes na área de trabalho do R, usamos o comando ls():

ls()
## [1] "AlunosES2.1" "AlunosES2.2"

Variáveis quantitativas

Ramo-e-folhas

stem(AlunosES2.1$Idade)
## 
##   The decimal point is at the |
## 
##   19 | 0
##   20 | 00000000000
##   21 | 000000
##   22 | 000000
##   23 | 
##   24 | 0
##   25 | 0
##   26 | 
##   27 | 00
##   28 | 0
hist(AlunosES2.1$Idade)

### Tabela de Distribuição de Frequência Quando a variável usada é quantitava e contínua, não é possível tabular o resultado de sua medida nos objetos da amostra, pois os dados gerados não terão valores repetidos. Repetições de valores acontecem somente quando arredondamos os resultados, como, por exemplo, nas medidas de peso de pessoas. Nunca dizemos que pesamos 67,34 kg, medimos somente a parte inteira da medida, porém, se o instrumento de medição for bastante preciso, duas pessoas jamais terão exatamente o mesmo peso. Neste caso, é fácil ver que não podemos contar resultados iguais, como foi feito no processo de tabulação descrito acima. Como fazer, então?

O que se faz, neste caso, é juntar dados com valores que estejam “perto”uns dos outros, o que chamamos intervalos de classe. A frequência de cada intervalo será o número de dados cujos valores pertencem a este intervalo.

O formato da tabela de distribuição de frequência é o mesmo da outra tabela já descrita, contendo o título, cabeçalho, coluna indicadora, resultados e a fonte. O pacote do R, chamado fdth, (FARIA; JELIHOVSCHI, 2012), é usado para fazer estas tabelas.

Calculando o Número de Classes (H) e a Amplitude de Classe

idades <- AlunosES2.1$Idade
max(idades)
## [1] 28
min(idades)
## [1] 19
AT = max(idades)-min(idades)
AT
## [1] 9
H = ceiling(sqrt(length(idades)))  #ceiling(), arrendonda para cima e floor() para baixo
H
## [1] 6
h = ceiling(AT/H)
h
## [1] 2

Usando o pacote fdth para criar a Tabela de Distribuição de Frequência

library(fdth)
## 
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
## 
##     sd, var
library(xtable)

tab_idades<- fdt(idades, start = 19 , end = 29 , h = 2)
tab_idades
##  Class limits  f   rf rf(%) cf  cf(%)
##       [19,21) 12 0.41 41.38 12  41.38
##       [21,23) 12 0.41 41.38 24  82.76
##       [23,25)  1 0.03  3.45 25  86.21
##       [25,27)  1 0.03  3.45 26  89.66
##       [27,29)  3 0.10 10.34 29 100.00
print(tab_idades, format = TRUE, col = 1:5 , pattern = "%.1f ") #Controle do número de colunas e do arredondamento
##    Class limits  f   rf rf(%) cf
##  [19.0 , 21.0 ) 12 0.41 41.38 12
##  [21.0 , 23.0 ) 12 0.41 41.38 24
##  [23.0 , 25.0 )  1 0.03  3.45 25
##  [25.0 , 27.0 )  1 0.03  3.45 26
##  [27.0 , 29.0 )  3 0.10 10.34 29

Resumo Estatístico

summary(idades)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   19.00   20.00   21.00   21.66   22.00   28.00

Medidas de Variabilidade

var(idades)
## [1] 5.519704
sd(idades)
## [1] 2.349405
cv = sd(idades)/mean(idades)*100
cv
## [1] 10.84916

Separatrizes

Quartis
P25 = quantile(idades, 0.25)
P25
## 25% 
##  20
P50 = quantile(idades, 0.5)
P50
## 50% 
##  21
P75 = quantile(idades, 0.75)
P75
## 75% 
##  22

Boxplot

boxplot(idades)

Variáveis Qualitativas

Renomeando as variáveis

 str(AlunosES2.1)
## tibble [29 x 6] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ Idade          : num [1:29] 20 20 20 20 20 22 21 20 22 21 ...
##  $ genero         : chr [1:29] "Feminino" "Masculino" "Feminino" "Masculino" ...
##  $ municipio      : chr [1:29] "Itacoatiara" "Itacoatiara" "Itacoatiara" "Itapiranga" ...
##  $ notebook       : chr [1:29] "N<U+0323>o" "N<U+0323>o" "N<U+0323>o" "N<U+0323>o" ...
##  $ Aulas sincronas: chr [1:29] "Pacote de dados m<cc>?veis de minha operadora" "Pacote de dados m<cc>?veis de minha operadora" "Pacote de dados m<cc>?veis de minha operadora" "Wifi em casas de amigos/parentes" ...
##  $ Atividades     : chr [1:29] "Tanto faz" "Tanto faz" "Fazer em equpe" "Fazer sozinho(a)" ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   Idade = col_double(),
##   ..   genero = col_character(),
##   ..   municipio = col_character(),
##   ..   notebook = col_character(),
##   ..   `Aulas sincronas` = col_character(),
##   ..   Atividades = col_character()
##   .. )
AlunosES2.1$genero -> sexo

AlunosES2.1$municipio -> cidade

AlunosES2.1$notebook -> notebook

internet <- AlunosES2.1$`Aulas sincronas`

Gráficos

library(xtable)

str(AlunosES2.1)
## tibble [29 x 6] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ Idade          : num [1:29] 20 20 20 20 20 22 21 20 22 21 ...
##  $ genero         : chr [1:29] "Feminino" "Masculino" "Feminino" "Masculino" ...
##  $ municipio      : chr [1:29] "Itacoatiara" "Itacoatiara" "Itacoatiara" "Itapiranga" ...
##  $ notebook       : chr [1:29] "N<U+0323>o" "N<U+0323>o" "N<U+0323>o" "N<U+0323>o" ...
##  $ Aulas sincronas: chr [1:29] "Pacote de dados m<cc>?veis de minha operadora" "Pacote de dados m<cc>?veis de minha operadora" "Pacote de dados m<cc>?veis de minha operadora" "Wifi em casas de amigos/parentes" ...
##  $ Atividades     : chr [1:29] "Tanto faz" "Tanto faz" "Fazer em equpe" "Fazer sozinho(a)" ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   Idade = col_double(),
##   ..   genero = col_character(),
##   ..   municipio = col_character(),
##   ..   notebook = col_character(),
##   ..   `Aulas sincronas` = col_character(),
##   ..   Atividades = col_character()
##   .. )
tab_sexo <- table(sexo)
tab_sexo
## sexo
##  Feminino Masculino 
##        15        14
pie(tab_sexo)

tab_cidades <- table(cidade)
tab_cidades
## cidade
##     Autazes Itacoatiara  Itapiranga      Manaus       Maues       Outro 
##           1          19           1           4           1           1 
##   Parintins 
##           2
barplot(tab_cidades)