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.
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).
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).
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(
## `Qual sua idade?` = col_double(),
## Gênero = col_character(),
## `Você vai cursar esta disciplina a partir de qual município?` = col_character(),
## `Você possui notebook/desktop com acesso a internet para realizar este curso?` = col_character(),
## `Em relação às aulas síncronas (encontros onde é obrigatória a participação do aluno), você utilizará para ter acesso a internet:` = col_character(),
## `Em relação às atividades do curso, você prefere:` = col_character()
## )
head(AlunosES2.1)
## # A tibble: 6 x 6
## `Qual sua idade~ Gênero `Você vai cursa~ `Você possui no~ `Em relação às ~
## <dbl> <chr> <chr> <chr> <chr>
## 1 20 Femin~ Itacoatiara Não Pacote de dados~
## 2 20 Mascu~ Itacoatiara Não Pacote de dados~
## 3 20 Femin~ Itacoatiara Não Pacote de dados~
## 4 20 Mascu~ Itapiranga Não Wifi em casas d~
## 5 20 Mascu~ Parintins Não Pacote de dados~
## 6 22 Mascu~ Itacoatiara Não Pacote de dados~
## # ... with 1 more variable: `Em relação às atividades do curso, você
## # prefere:` <chr>
Com a opção “inlude=FALSE”, a importação não será percebida, o que na maioria dos casos, é o ideal.
Para listar os objetos existentes na área de trabalho do R, usamos o comando ls():
ls()
## [1] "AlunosES2.1" "AlunosES2.2"
stem(AlunosES2.1$`Qual sua 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$`Qual sua idade?`)
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.
idades <- AlunosES2.1$`Qual sua 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
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
summary(idades)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 19.00 20.00 21.00 21.66 22.00 28.00
var(idades)
## [1] 5.519704
sd(idades)
## [1] 2.349405
cv = sd(idades)/mean(idades)*100
cv
## [1] 10.84916
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(idades)