Este trabalho apresenta uma análise estatística de uma base de dados sobre a distribuição de Equipamentos de Proteção Individual, conhecidos como EPIs. A base utilizada contém informações referentes ao ano, área operacional, tipos de equipamentos distribuídos, quantidade total e custo total.
O objetivo do projeto é utilizar o RMarkdown no RStudio para
carregar, organizar, tratar e analisar os dados de uma planilha no
formato .xlsx. A análise permite identificar quais áreas
utilizaram maior quantidade de EPIs, quais equipamentos tiveram maior
distribuição e como os custos variaram ao longo dos anos.
A preparação dos dados foi realizada dentro do próprio RStudio, conforme solicitado na proposta da atividade. O relatório está organizado em carregamento dos pacotes, carregamento da base, tratamento dos dados, estatística básica, análises por agrupamento, gráficos estatísticos e conclusão.
Os pacotes abaixo foram utilizados para importar a planilha, manipular os dados, gerar tabelas e construir os gráficos estatísticos. Este chunk foi deixado aparente para demonstrar as bibliotecas utilizadas no trabalho.
library(readxl)
library(dplyr)
library(ggplot2)
library(knitr)
library(scales)
library(tidyr)
readxl: utilizado para importar arquivos em formato
Excel.dplyr: utilizado para manipulação, organização e
agrupamento dos dados.ggplot2: utilizado para construção dos gráficos
estatísticos.knitr: utilizado para apresentação das tabelas com a
função kable.scales: utilizado para formatação de valores monetários
nos gráficos.tidyr: utilizado para reorganizar os dados em formato
adequado para análise.A base de dados utilizada neste trabalho foi importada a partir da
planilha planilha_epis_completa.xlsx, elaborada para fins
acadêmicos e utilizada no desenvolvimento desta atividade. O acesso e
uso da base ocorreram em maio de 2026.
A planilha apresenta os dados organizados em colunas, sem células mescladas, permitindo a leitura e manipulação adequada no RStudio.
epis <- read_excel("planilha_epis_completa.xlsx")
## # A tibble: 6 × 12
## Ano Área Calçado Óculos Vaqueta Pigmentada Nitrílica Látex Plug Concha
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2019 Gráfica 193 192 128 50 173 68 197 92
## 2 2019 Manutenç… 102 121 58 144 110 141 88 87
## 3 2020 Gráfica 175 184 75 177 91 198 161 172
## 4 2020 Manutenç… 182 146 132 107 150 87 193 130
## 5 2021 Gráfica 120 136 100 65 136 148 114 131
## 6 2021 Manutenç… 110 107 94 199 74 104 102 122
## # ℹ 2 more variables: `Total Qtde` <dbl>, `Custo Total (R$)` <dbl>
Nesta etapa foram verificadas as colunas da base, a estrutura dos dados, os valores ausentes e os tipos das variáveis. Também foi realizada a padronização dos nomes das colunas para facilitar a manipulação no R.
names(epis)
## [1] "Ano" "Área" "Calçado" "Óculos"
## [5] "Vaqueta" "Pigmentada" "Nitrílica" "Látex"
## [9] "Plug" "Concha" "Total Qtde" "Custo Total (R$)"
Os nomes das colunas foram padronizados para letras minúsculas, sem espaços, sem acentos e sem caracteres especiais. Essa etapa reduz erros na escrita dos códigos e atende à orientação da atividade.
names(epis) <- c(
"ano", "area", "calcado", "oculos", "vaqueta", "pigmentada",
"nitrilica", "latex", "plug", "concha", "total_qtde", "custo_total"
)
names(epis)
## [1] "ano" "area" "calcado" "oculos" "vaqueta"
## [6] "pigmentada" "nitrilica" "latex" "plug" "concha"
## [11] "total_qtde" "custo_total"
Os campos de texto foram convertidos para UTF-8 para evitar problemas de acentuação no relatório em HTML.
epis <- epis %>%
mutate(across(where(is.character), ~ iconv(.x, from = "", to = "UTF-8")))
Nesta etapa, as variáveis numéricas foram convertidas com
mutate(), conforme recomendado na proposta da
atividade.
epis <- epis %>%
mutate(
ano = as.numeric(ano),
calcado = as.numeric(calcado),
oculos = as.numeric(oculos),
vaqueta = as.numeric(vaqueta),
pigmentada = as.numeric(pigmentada),
nitrilica = as.numeric(nitrilica),
latex = as.numeric(latex),
plug = as.numeric(plug),
concha = as.numeric(concha),
total_qtde = as.numeric(total_qtde),
custo_total = as.numeric(custo_total)
)
str(epis)
## tibble [14 × 12] (S3: tbl_df/tbl/data.frame)
## $ ano : num [1:14] 2019 2019 2020 2020 2021 ...
## $ area : chr [1:14] "Gráfica" "Manutenção" "Gráfica" "Manutenção" ...
## $ calcado : num [1:14] 193 102 175 182 120 110 140 180 168 114 ...
## $ oculos : num [1:14] 192 121 184 146 136 107 178 66 87 100 ...
## $ vaqueta : num [1:14] 128 58 75 132 100 94 134 168 133 144 ...
## $ pigmentada : num [1:14] 50 144 177 107 65 199 59 126 50 172 ...
## $ nitrilica : num [1:14] 173 110 91 150 136 74 62 200 81 195 ...
## $ latex : num [1:14] 68 141 198 87 148 104 181 51 116 186 ...
## $ plug : num [1:14] 197 88 161 193 114 102 137 54 127 175 ...
## $ concha : num [1:14] 92 87 172 130 131 122 195 156 191 147 ...
## $ total_qtde : num [1:14] 1093 851 1233 1127 950 ...
## $ custo_total: num [1:14] 40766 26541 43027 41488 32586 ...
summary(epis)
## ano area calcado oculos vaqueta
## Min. :2019 Length :14 Min. : 93.0 Min. : 66.0 Min. : 58.0
## 1st Qu.:2020 N.unique : 2 1st Qu.:115.5 1st Qu.:101.8 1st Qu.:105.5
## Median :2022 N.blank : 0 Median :132.5 Median :128.5 Median :132.5
## Mean :2022 Min.nchar: 7 Mean :141.6 Mean :131.5 Mean :128.2
## 3rd Qu.:2024 Max.nchar:10 3rd Qu.:173.2 3rd Qu.:172.8 3rd Qu.:147.0
## Max. :2025 Max. :193.0 Max. :192.0 Max. :190.0
## pigmentada nitrilica latex plug
## Min. : 50.0 Min. : 62.0 Min. : 51.00 Min. : 54.00
## 1st Qu.: 73.0 1st Qu.: 83.5 1st Qu.: 91.25 1st Qu.: 93.75
## Median :108.5 Median :143.0 Median :124.50 Median :121.00
## Mean :115.6 Mean :135.1 Mean :125.36 Mean :128.71
## 3rd Qu.:154.5 3rd Qu.:174.5 3rd Qu.:151.00 3rd Qu.:171.50
## Max. :199.0 Max. :200.0 Max. :198.00 Max. :197.00
## concha total_qtde custo_total
## Min. : 52.0 Min. : 851.0 Min. :26541
## 1st Qu.: 99.5 1st Qu.: 950.8 1st Qu.:32284
## Median :130.5 Median :1051.5 Median :36648
## Mean :132.4 Mean :1038.6 Mean :36235
## 3rd Qu.:168.0 3rd Qu.:1091.2 3rd Qu.:40728
## Max. :195.0 Max. :1233.0 Max. :43027
ausentes <- data.frame(
Coluna = names(epis),
Valores_Ausentes = colSums(is.na(epis))
)
kable(ausentes)
| Coluna | Valores_Ausentes | |
|---|---|---|
| ano | ano | 0 |
| area | area | 0 |
| calcado | calcado | 0 |
| oculos | oculos | 0 |
| vaqueta | vaqueta | 0 |
| pigmentada | pigmentada | 0 |
| nitrilica | nitrilica | 0 |
| latex | latex | 0 |
| plug | plug | 0 |
| concha | concha | 0 |
| total_qtde | total_qtde | 0 |
| custo_total | custo_total | 0 |
As consultas iniciais permitem conhecer melhor a composição da base, identificando as áreas e os anos presentes na planilha.
| area |
|---|
| Gráfica |
| Manutenção |
| ano |
|---|
| 2019 |
| 2020 |
| 2021 |
| 2022 |
| 2023 |
| 2024 |
| 2025 |
A tabela abaixo apresenta os principais indicadores estatísticos das
variáveis numéricas escolhidas: total_qtde e
custo_total. Foram calculados média, mediana, desvio
padrão, variância, valor máximo e valor mínimo.
| Variavel | Media | Mediana | Desvio_Padrao | Variancia | Maximo | Minimo |
|---|---|---|---|---|---|---|
| Total de Quantidade | 1038.57 | 1051.5 | 114.66 | 13145.96 | 1233 | 851 |
| Custo Total | 36235.14 | 36648.0 | 5199.28 | 27032515.82 | 43027 | 26541 |
As análises por agrupamento permitem identificar os setores com maior distribuição de EPIs, os anos com maiores custos e os tipos de equipamentos mais utilizados.
| area | quantidade_total | custo_total |
|---|---|---|
| Gráfica | 7313 | 262706 |
| Manutenção | 7227 | 244586 |
| ano | quantidade_total | custo_total |
|---|---|---|
| 2019 | 1944 | 67307 |
| 2020 | 2360 | 84515 |
| 2021 | 1862 | 62447 |
| 2022 | 2087 | 81548 |
| 2023 | 2186 | 77078 |
| 2024 | 1982 | 70868 |
| 2025 | 2119 | 63529 |
| Tipo_EPI | Quantidade |
|---|---|
| Calcado | 1982 |
| Nitrilica | 1892 |
| Concha | 1854 |
| Oculos | 1841 |
| Plug | 1802 |
| Vaqueta | 1795 |
| Latex | 1755 |
| Pigmentada | 1619 |
O custo médio por área foi calculado dividindo o custo total pela quantidade total de EPIs distribuídos em cada setor.
| area | quantidade_total | custo_total | custo_medio |
|---|---|---|---|
| Gráfica | 7313 | 262706 | 35.92 |
| Manutenção | 7227 | 244586 | 33.84 |
O gráfico de linha apresenta a evolução do custo total dos EPIs ao longo dos anos.
O boxplot apresenta a distribuição do custo total por área, permitindo observar a variação dos custos entre os setores.
O histograma apresenta a frequência das quantidades totais de EPIs registradas na base.
O gráfico de colunas apresenta a quantidade total de EPIs distribuídos por área.
O gráfico de pizza apresenta a participação de cada tipo de EPI na quantidade total distribuída.
A análise da planilha de EPIs permitiu compreender a distribuição dos equipamentos por área, ano e tipo de material. A partir dos agrupamentos realizados, foi possível identificar os setores com maior volume de utilização de EPIs e observar a participação de cada equipamento no total distribuído.
Os indicadores estatísticos, como média, mediana, desvio padrão, variância, valor máximo e valor mínimo, ajudaram a interpretar o comportamento das quantidades e dos custos registrados na base. Essas medidas permitem avaliar a concentração dos dados e a variação existente entre os registros.
Os gráficos facilitaram a interpretação visual dos resultados. O gráfico de linha mostrou a evolução dos custos ao longo dos anos; o boxplot apresentou a distribuição dos custos por área; o histograma indicou a frequência das quantidades; o gráfico de colunas comparou a distribuição por área; e o gráfico de pizza mostrou a participação dos tipos de EPIs.
Conclui-se que o uso do RStudio e do RMarkdown foi adequado para organizar, tratar e analisar a base de dados. O trabalho atende à proposta da Fase 2 ao apresentar carregamento da base, preparação dos dados, análise estatística, gráficos obrigatórios e conclusão baseada nos resultados obtidos.