Este relatório apresenta uma análise de movimentação de itens a partir de uma planilha contendo códigos de produtos, datas de movimentação, quantidades, anos e meses.
O objetivo do trabalho é utilizar a linguagem R para organizar, tratar e analisar os dados da planilha, permitindo identificar padrões de movimentação, volumes totais e distribuição das quantidades ao longo do tempo.
Os pacotes abaixo foram utilizados para manipulação dos dados, leitura da planilha Excel, construção de gráficos e apresentação das tabelas.
library(dplyr)
library(ggplot2)
library(readxl)
library(knitr)
library(scales)
dplyr → manipulação e organização dos dados
ggplot2 → criação dos gráficos
readxl → leitura da planilha Excel
knitr → criação das tabelas utilizando a função
kable
scales → formatação de escalas e valores nos
gráficos
A planilha utilizada foi obtida da base disponibilizada para a disciplina no mês de maio de 2026.
movimentacao <- read_excel("planilha alan jorge - fase 2.xlsx")
Nesta etapa foram verificados os nomes das colunas, presença de valores ausentes e tipos das variáveis.
names(movimentacao)
## [1] "codigo_item" "data_movimentacao" "quantidade"
## [4] "ano" "mes"
sum(is.na(movimentacao))
## [1] 0
str(movimentacao)
## tibble [113,202 × 5] (S3: tbl_df/tbl/data.frame)
## $ codigo_item : chr [1:113202] "ITM-000001" "ITM-000002" "ITM-000003" "ITM-000004" ...
## $ data_movimentacao: POSIXct[1:113202], format: "2018-01-01" "2018-01-01" ...
## $ quantidade : num [1:113202] 1 2 3 4 5 6 7 8 9 10 ...
## $ ano : num [1:113202] 2018 2018 2018 2018 2018 ...
## $ mes : num [1:113202] 1 1 1 1 1 1 1 1 1 1 ...
Também foi realizado o tratamento das variáveis para garantir que os dados fossem interpretados corretamente pelo R.
movimentacao <- movimentacao %>%
mutate(
data_movimentacao = as.Date(data_movimentacao,
origin = "1899-12-30"),
ano = as.numeric(ano),
mes = as.numeric(mes),
quantidade = as.numeric(quantidade)
)
Foi criada uma tabela contendo medidas estatísticas importantes da variável quantidade.
As medidas analisadas foram:
Média
Mediana
Desvio padrão
Variância
Valor máximo
Valor mínimo
estatistica <- data.frame(
Media = mean(movimentacao$quantidade, na.rm = TRUE),
Mediana = median(movimentacao$quantidade, na.rm = TRUE),
Desvio_Padrao = sd(movimentacao$quantidade, na.rm = TRUE),
Variancia = var(movimentacao$quantidade, na.rm = TRUE),
Maximo = max(movimentacao$quantidade, na.rm = TRUE),
Minimo = min(movimentacao$quantidade, na.rm = TRUE)
)
kable(estatistica)
| Media | Mediana | Desvio_Padrao | Variancia | Maximo | Minimo |
|---|---|---|---|---|---|
| 25.49958 | 25 | 14.43116 | 208.2583 | 50 | 1 |
indicadores <- movimentacao %>%
summarise(
Total_Registros = n(),
Total_Itens_Distintos = n_distinct(codigo_item),
Quantidade_Total = sum(quantidade, na.rm = TRUE),
Media_Quantidade = mean(quantidade, na.rm = TRUE),
Maior_Quantidade = max(quantidade, na.rm = TRUE),
Menor_Quantidade = min(quantidade, na.rm = TRUE)
)
kable(indicadores)
| Total_Registros | Total_Itens_Distintos | Quantidade_Total | Media_Quantidade | Maior_Quantidade | Menor_Quantidade |
|---|---|---|---|---|---|
| 113202 | 113202 | 2886603 | 25.49958 | 50 | 1 |
total_ano <- movimentacao %>%
group_by(ano) %>%
summarise(
Quantidade_Total = sum(quantidade, na.rm = TRUE),
Registros = n()
)
kable(total_ano)
| ano | Quantidade_Total | Registros |
|---|---|---|
| 2018 | 142905 | 5614 |
| 2019 | 229585 | 9005 |
| 2020 | 497801 | 19519 |
| 2021 | 525055 | 20593 |
| 2022 | 630695 | 24730 |
| 2023 | 702579 | 27554 |
| 2024 | 157983 | 6187 |
total_mes <- movimentacao %>%
group_by(mes) %>%
summarise(
Quantidade_Total = sum(quantidade, na.rm = TRUE),
Registros = n()
)
kable(total_mes)
| mes | Quantidade_Total | Registros |
|---|---|---|
| 1 | 261436 | 10249 |
| 2 | 217062 | 8509 |
| 3 | 269591 | 10559 |
| 4 | 218979 | 8609 |
| 5 | 230081 | 9023 |
| 6 | 225299 | 8831 |
| 7 | 228881 | 8987 |
| 8 | 232002 | 9076 |
| 9 | 234629 | 9197 |
| 10 | 258225 | 10117 |
| 11 | 260333 | 10227 |
| 12 | 250085 | 9818 |
itens_quantidade <- movimentacao %>%
group_by(codigo_item) %>%
summarise(
Quantidade_Total = sum(quantidade, na.rm = TRUE),
Registros = n()
) %>%
arrange(desc(Quantidade_Total))
kable(head(itens_quantidade, 10))
| codigo_item | Quantidade_Total | Registros |
|---|---|---|
| ITM-000050 | 50 | 1 |
| ITM-000100 | 50 | 1 |
| ITM-000150 | 50 | 1 |
| ITM-000200 | 50 | 1 |
| ITM-000250 | 50 | 1 |
| ITM-000300 | 50 | 1 |
| ITM-000350 | 50 | 1 |
| ITM-000400 | 50 | 1 |
| ITM-000450 | 50 | 1 |
| ITM-000500 | 50 | 1 |
ano_mes <- movimentacao %>%
group_by(ano, mes) %>%
summarise(
Quantidade_Total = sum(quantidade, na.rm = TRUE),
.groups = "drop"
)
ano_mes <- ano_mes %>%
mutate(
periodo = as.Date(
paste(ano, mes, "01", sep = "-")
)
)
ggplot(ano_mes,
aes(x = periodo,
y = Quantidade_Total)) +
geom_line(color = "blue",
linewidth = 1) +
geom_point(color = "red",
size = 2) +
labs(
title = "Evolução da Quantidade Movimentada",
x = "Período",
y = "Quantidade Total"
) +
theme_minimal()
ggplot(movimentacao,
aes(x = factor(ano),
y = quantidade)) +
geom_boxplot(fill = "lightblue") +
labs(
title = "Distribuição das Quantidades por Ano",
x = "Ano",
y = "Quantidade"
) +
theme_minimal()
ggplot(movimentacao,
aes(x = quantidade)) +
geom_histogram(
bins = 30,
fill = "orange",
color = "black"
) +
labs(
title = "Distribuição das Quantidades",
x = "Quantidade",
y = "Frequência"
) +
theme_minimal()
A análise realizada permitiu identificar o comportamento das movimentações registradas na planilha ao longo do tempo.
Os resultados demonstraram quais períodos apresentaram maior quantidade movimentada, além de permitir a visualização da distribuição dos dados e da variação entre os registros.
Os gráficos facilitaram a interpretação das informações e contribuíram para uma análise mais clara da movimentação dos itens.
O trabalho demonstrou a utilização da linguagem R na análise e interpretação de dados de movimentação de itens.
A partir da planilha analisada foi possível gerar indicadores, tabelas estatísticas e gráficos capazes de auxiliar no entendimento das informações registradas.
Dessa forma, o relatório contribui para o acompanhamento dos dados e apoio à tomada de decisão baseada em informações organizadas e analisadas.