-
Notifications
You must be signed in to change notification settings - Fork 0
/
exploratoria.qmd
315 lines (200 loc) · 9.27 KB
/
exploratoria.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
```{=html}
<style>
body{text-align: justify}
</style>
```
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
# Análise Exploratória de Dados (EDA)
::: {.callout-note icon="TRUE"}
Mini Roteiro: AED
Um Mini Roteiro para Realizar uma Análise Exploratória de Dados usando a Linguagem de Programação $R_{4.3}$ com auxílio da IDE RStudio.
:::
Em estatística, a análise exploratória de dados (AED) é uma abordagem à análise de conjuntos de dados de modo a resumir suas características principais, frequentemente com métodos visuais. Um modelo estatístico pode ou não ser usado, mas primariamente a AED tem como objetivo observar o que os dados podem nos dizer além da modelagem formal ou do processo de teste de hipóteses.
A análise exploratória de dados foi promovida pelo estatístico norte-americano **John Tukey**, que incentivava os estatísticos a explorar os dados e possivelmente formular hipóteses que poderiam levar a novas coletas de dados e experimentos.
![](images/John_Tukey-01.jpeg){fig-align="center" width="81"}
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
## Diretório de Trabalho
Primeiro Passo é definir o diretório de trabalho no R
```{r diretorio, message=FALSE, warning=FALSE}
setwd('C:/Users/mario Dhiego/Documents/Modelo_Regresao1/Modelo_Regresao1')
```
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
## Carregar Dataset
Segundo Passo é carregar a base de dados, chamada de mercado. Para isso é necessário instalar o pacote para leitura de arquivo com extensão do tipo excel(.xlsx) por meio do comando **install.packages("readxl")**.
Posteriormente, ativar o pacote no R com o comando **library(readxl)**. Tendo um detalhe fundamental, que se instala somente um vez o pacote, e se ativa toda vez que for usar.
```{r base1, message=FALSE, warning=FALSE}
library(readxl)
mercado <- read_excel('mercado.xlsx')
mercado2 <- read_excel('mercado2.xlsx')
```
A importância da apresentação dos dados é fundamental no início da faxina dos dados.
Para a apresentação dos dataset contamos com alguns pacotes na linguagem R que possibilitam a apresentação de tabelas de maneira bastante satisfatória (de forma elegante e até interativa).
O **pacote DT** é uma excelente opção quando se trata de uma apresentação rápida, geral e dinâmica sobre a base de dados.
O pacote DT fornece uma interface R para a biblioteca JavaScript **DataTables**. Objetos de dados R (matrizes ou quadros de dados) podem ser exibidos como tabelas em páginas HTML, e DataTables fornece filtragem, paginação, classificação e muitos outros recursos nas tabelas.
Segue a base de dados (n=80) referentes as características dos Funcionários que trabalham no Supermercado Formosa, na cidade de Belém, Estado do Pará, em 2023.
```{r dataset1}
library(DT)
datatable(mercado,
class = 'cell-border stripe',
editable = 'cell',
caption = 'Tabela 01: Banco de Dados sobre Funcionários do Supermercado Formosa, Belém - Pará, 2023.')
```
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
## Identificar os Tipos de Variáveis
Utilizamos a função **diagnose()**, do **paocte dlookr** na linguagem R, para identificar os tipos de variáveis para análise.
A função diagnose() da biblioteca dlookr que retorna por variável qual o tipo dela, contagem de valores faltantes, frequência de faltantes em relação à base toda.
```{r dlookr1, message=FALSE, warning=FALSE}
library(dlookr)
mercado %>% dlookr::diagnose()
```
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
## Variáveis Qualitativas
### Tabelas de Frequência: Simples
```{r tab1, message=FALSE, warning=FALSE}
table(mercado2$CARGO)
table(mercado2$EDUCAÇÃO)
table(mercado2$LOCAL)
```
### Tabelas de Frequência: Proporção
```{r tab2, message=FALSE, warning=FALSE}
prop.table(table(mercado2$CARGO))*100
prop.table(table(mercado2$EDUCAÇÃO))*100
prop.table(table(mercado2$LOCAL))*100
```
### Tabelas de Contigência
O **pacote gtsummary** fornece uma maneira elegante e flexível de criar tabelas analíticas e de resumo prontas para publicação usando a linguagem de programação R.
A função **tbl_summary()** calcula estatísticas descritivas para variáveis contínuas, categóricas e dicotômicas em R e apresenta os resultados em uma tabela de resumo bonita e personalizável, pronta para publicação.
```{r contigencia1, message=FALSE, warning=FALSE}
library(dplyr)
library(gtsummary)
mercado %>%
select(
LOCAL,
CARGO,
IDADE,
TEMPOCASA,
EDUCAÇÃO,
SALARIO) %>%
tbl_summary(by = LOCAL,
statistic = list(all_continuous() ~ "{mean} ({sd})")) %>%
modify_header(label = "**VARIAVEIS**") %>%
modify_caption("Tabela 01. Característica Salariais Formosa") %>%
add_n() %>%
add_difference() %>%
bold_p(t = 0.05) %>%
bold_labels() %>%
italicize_levels()
```
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
## Variáveis Quantitativas
### Medidas Resumo Geral
A função mais famosa para a estatística descritiva no R, é a chamada de summary(), que dá a amplitude dos dados.
A função **summary()** do **pacote basic**, retorna boa parte da estatística descritiva como os quartis, média, mediana, mínimo, máximo e as espécies que há na tabela. É importante saber que de ante-mão, quanto mais próxima a mediana estiver da média, maior a probablidade de a destribuição dos dados ser gaussiana. Esta forma de descrição é mais utilizada para uma obtenção rápida dos parâmetros dos dados.
```{r medida1, message=FALSE, warning=FALSE}
summary(mercado2$IDADE)
summary(mercado2$TEMPOCASA)
summary(mercado2$SALARIO)
```
### Interpretação p/ Salário
- o 1º quartil(1 st Qu.) indica que 25% dos funcionários têm renda salarial menor ou igual a R\$ 4.894 e o 3º quartil(3 rd Qu.) indica que 75% têm renda menor ou igual a R\$ 6.306.
- Estes dois valores indicam que 50% dos funcionários tem renda nesse intervalo, o que já nos dá uma idéia de variabilidade da Renda.
- Quanto maior a diferença entre o 3º e o 1º quartil, maior a dispersão da variável.
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
### Análise Geral
O **pacote skimr** é um função que nos fornece medidas resumo de variáveis de uma base de dados de interesse. Ele pode ser visto como uma alternativa mais completa para a função **summary()** do R Base para gerar uma tabela geral sobre a base de dados, fornecendo um primeiro olhar sobre o fenômeno estudado.
```{r skim1, message=FALSE, warning=FALSE}
library(skimr)
mercado |> skim()
```
Veja que a saída da função skim mostra uma visão geral da base de dados, nos dando informações como número de linhas, número de colunas, e os tipos das colunas
Ela fornece também informações individuais sobre cada coluna da base, separando as colunas por tipo: cada tipo nos dá um conjunto diferente de estatísticas, que façam sentido para aquele tipo de dado.
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
### Relação Gráfica: Variáveis Quantitativas
#### Histograma com Boxplot
Conhecer como as variáveis se relacionam também é um passo muito importante antes da elaboração de um modelo quantitativo.
```{r box1, message=FALSE, warning=FALSE}
library(magrittr)
library(dplyr)
nf = layout(mat = matrix(c(1,2),2,1, byrow = TRUE), height = c(1,2))
par(mar = c(4.1, 3.1, 1.1, 2.1))
boxplot(mercado$SALARIO,
col = "Red",
border = "Black",
horizontal = TRUE,
notch = TRUE)
hist(mercado$SALARIO,
col = "blue",
freq = TRUE,
main = "Histograma com BoxPlot",
xlab = "R$ Salário",
ylab = "Frequência")
```
```{r box2, message=FALSE, warning=FALSE}
library(magrittr)
library(dplyr)
nf = layout(mat = matrix(c(1,2),2,1, byrow = TRUE),height = c(1,2))
par(mar = c(4.1, 3.1, 1.1, 2.1))
boxplot(mercado$IDADE,
col = "Red",
border = "Black",
horizontal = TRUE,
notch = TRUE)
hist(mercado$IDADE,
col = "blue",
freq = TRUE,
main = "Histograma com BoxPlot",
xlab = "Idade (anos)",
ylab = "Frequência")
```
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
#### Diagrama de Ramos-e-folhas
Vamos investigar como está o comportamento das variáveis através de uma ferramenta chama **diagrama de ramos e folhas**. Para isso vamos usar o comando abaixo:
```{r ramos1, message=FALSE, warning=FALSE}
stem(mercado2$IDADE)
stem(mercado2$SALARIO)
```
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::
#### Diagrama de Dispersão
A função **pairs.panels()** do **pacote psych** no R gera um figura com os gráficos de dispersão 2 a 2, os histogramas de cada variável e as correlações das variaveis 2 a 2.
```{r corr1, message=FALSE, warning=FALSE}
library(psych)
pairs.panels(mercado,
method = "pearson",
density = TRUE,
ellipses = TRUE,
smoother = TRUE)
```
::: progress
::: {.progress-bar style="width: 100%;"}
:::
:::