Aluno: Carlos Victor da Silva Pinto
Curso: Engenharia Civil
Instituição: Faculdade Celso Lisboa
Disciplina: Programação em RStudio
Local: Rio de Janeiro - RJ
Este trabalho apresenta uma análise estatística de uma base de dados
referente à entrada de mercadorias. A proposta é utilizar a linguagem R,
no ambiente RStudio, para carregar, organizar, tratar e interpretar os
dados presentes em uma planilha no formato .xlsx.
A análise permite compreender melhor o comportamento das entradas de materiais, identificar fornecedores com maior participação, verificar categorias de produtos mais representativas, avaliar valores movimentados e acompanhar o status dos recebimentos. Dessa forma, o projeto demonstra como a análise de dados pode auxiliar no controle de estoque, no acompanhamento de compras e na tomada de decisão administrativa.
O relatório está organizado em etapas: carregamento dos pacotes, carregamento da base de dados, preparação dos dados, estatística básica, análises por agrupamento, construção de gráficos e conclusão final.
Os pacotes abaixo foram utilizados para leitura da planilha, manipulação dos dados, elaboração de tabelas e criação dos gráficos estatísticos. Este chunk foi deixado aparente para demonstrar quais bibliotecas foram utilizadas no desenvolvimento do projeto.
library(readxl)
library(dplyr)
library(ggplot2)
library(knitr)
library(scales)
readxl: utilizado para carregar a planilha em formato
Excel.dplyr: utilizado para manipulação, tratamento 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 e tabelas.A base de dados utilizada neste trabalho foi obtida a partir da
planilha Entrada_Mercadorias(3).xlsx, disponibilizada para
o desenvolvimento da atividade acadêmica. O acesso e uso da base
ocorreram em maio de 2026.
A planilha apresenta os dados organizados em colunas, sem células mescladas, o que permite sua leitura e manipulação no RStudio.
entrada_mercadorias <- read_excel("Entrada_Mercadorias.xlsx")
## # A tibble: 6 × 10
## ID_Entrada Data_Recebimento Fornecedor Produto Categoria Quantidade
## <chr> <dttm> <chr> <chr> <chr> <dbl>
## 1 ENT-1002 2026-03-09 00:00:00 HidroRio Soluções Tubo P… Hidráuli… 128
## 2 ENT-1003 2026-01-11 00:00:00 Top Ferragens RJ Tubo P… Hidráuli… 127
## 3 ENT-1004 2026-04-23 00:00:00 HidroRio Soluções Caixa … Elétrica 148
## 4 ENT-1005 2026-01-13 00:00:00 Top Ferragens RJ Tubo P… Hidráuli… 44
## 5 ENT-1006 2026-03-16 00:00:00 MaxTubos Comercial Joelho… Hidráuli… 205
## 6 ENT-1007 2026-03-26 00:00:00 Prime Engenharia … Joelho… Hidráuli… 90
## # ℹ 4 more variables: Valor_Unitario <dbl>, Valor_Total <dbl>,
## # Responsavel <chr>, Status_Recebimento <chr>
Nesta etapa foram verificadas as características iniciais da base, incluindo nomes das colunas, tipos de dados, valores ausentes e padronização dos nomes das variáveis.
names(entrada_mercadorias)
## [1] "ID_Entrada" "Data_Recebimento" "Fornecedor"
## [4] "Produto" "Categoria" "Quantidade"
## [7] "Valor_Unitario" "Valor_Total" "Responsavel"
## [10] "Status_Recebimento"
Embora a base já estivesse organizada em colunas, os nomes foram padronizados no RStudio para letras minúsculas, facilitando a manipulação dos dados ao longo do trabalho.
names(entrada_mercadorias) <- names(entrada_mercadorias) %>%
tolower()
Para evitar erros de acentuação ou problemas de codificação no RMarkdown, os campos de texto foram convertidos para UTF-8.
entrada_mercadorias <- entrada_mercadorias %>%
mutate(across(where(is.character), ~ iconv(.x, from = "", to = "UTF-8")))
entrada_mercadorias <- entrada_mercadorias %>%
mutate(
data_recebimento = as.Date(data_recebimento),
quantidade = as.numeric(quantidade),
valor_unitario = as.numeric(valor_unitario),
valor_total = as.numeric(valor_total)
)
str(entrada_mercadorias)
## tibble [50 × 10] (S3: tbl_df/tbl/data.frame)
## $ id_entrada : chr [1:50] "ENT-1002" "ENT-1003" "ENT-1004" "ENT-1005" ...
## $ data_recebimento : Date[1:50], format: "2026-03-09" "2026-01-11" ...
## $ fornecedor : chr [1:50] "HidroRio Soluções" "Top Ferragens RJ" "HidroRio Soluções" "Top Ferragens RJ" ...
## $ produto : chr [1:50] "Tubo PVC 100mm" "Tubo PVC 100mm" "Caixa de Passagem" "Tubo PVC 100mm" ...
## $ categoria : chr [1:50] "Hidráulica" "Hidráulica" "Elétrica" "Hidráulica" ...
## $ quantidade : num [1:50] 128 127 148 44 205 90 106 239 123 219 ...
## $ valor_unitario : num [1:50] 376.1 338.8 579.3 94.1 184.7 ...
## $ valor_total : num [1:50] 48142 43029 85739 4141 37859 ...
## $ responsavel : chr [1:50] "Felipe" "Felipe" "Wellington" "André Luiz" ...
## $ status_recebimento: chr [1:50] "Pendente" "Recebido" "Pendente" "Pendente" ...
ausentes <- data.frame(
Coluna = names(entrada_mercadorias),
Valores_Ausentes = colSums(is.na(entrada_mercadorias))
)
kable(ausentes)
| Coluna | Valores_Ausentes | |
|---|---|---|
| id_entrada | id_entrada | 0 |
| data_recebimento | data_recebimento | 0 |
| fornecedor | fornecedor | 0 |
| produto | produto | 0 |
| categoria | categoria | 0 |
| quantidade | quantidade | 0 |
| valor_unitario | valor_unitario | 0 |
| valor_total | valor_total | 0 |
| responsavel | responsavel | 0 |
| status_recebimento | status_recebimento | 0 |
As consultas iniciais têm como finalidade conhecer melhor a composição da base de dados, identificando fornecedores, produtos, categorias e status de recebimento presentes na planilha.
| fornecedor |
|---|
| Conecta Elétrica |
| Constrular Materiais |
| HidroRio Soluções |
| Master Cimentos |
| MaxTubos Comercial |
| Nova Aço Distribuidora |
| Prime Engenharia Supply |
| Top Ferragens RJ |
| produto |
|---|
| Areia Lavada |
| Brita 1 |
| Caixa de Passagem |
| Cimento CP II |
| Disjuntor 50A |
| Joelho PVC 90° |
| Tubo PVC 100mm |
| Vergalhão CA-50 |
| categoria |
|---|
| Agregados |
| Construção |
| Elétrica |
| Estrutural |
| Hidráulica |
| status_recebimento |
|---|
| Aguardando Nota |
| Conferido |
| Pendente |
| Recebido |
A tabela a seguir apresenta os principais indicadores estatísticos
das variáveis numéricas escolhidas: quantidade,
valor_unitario e valor_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 |
|---|---|---|---|---|---|---|
| Quantidade | 132.46 | 127.50 | 69.74 | 4.863560e+03 | 247.00 | 14.00 |
| Valor Unitário | 435.52 | 438.10 | 232.58 | 5.409351e+04 | 848.12 | 19.83 |
| Valor Total | 55480.13 | 49225.26 | 40033.72 | 1.602699e+09 | 174615.44 | 1130.31 |
As análises por agrupamento permitem identificar padrões e comportamentos da base de dados, destacando fornecedores, categorias e produtos com maior participação nas entradas de mercadorias. Essas informações auxiliam no controle e organização dos dados analisados.
| fornecedor | quantidade_total | valor_total |
|---|---|---|
| HidroRio Soluções | 1547 | 587592.36 |
| Master Cimentos | 1200 | 544188.59 |
| MaxTubos Comercial | 933 | 399623.99 |
| Top Ferragens RJ | 654 | 348585.78 |
| Constrular Materiais | 593 | 300905.87 |
| Conecta Elétrica | 894 | 282167.83 |
| Prime Engenharia Supply | 561 | 234790.62 |
| Nova Aço Distribuidora | 241 | 76151.48 |
| categoria | quantidade_total | valor_total |
|---|---|---|
| Hidráulica | 2302 | 875713.8 |
| Elétrica | 1560 | 694906.3 |
| Construção | 832 | 520024.5 |
| Agregados | 1394 | 469997.3 |
| Estrutural | 535 | 213364.6 |
| produto | quantidade_total | valor_total |
|---|---|---|
| Joelho PVC 90° | 1615 | 580390.6 |
| Cimento CP II | 832 | 520024.5 |
| Brita 1 | 810 | 250222.8 |
| Caixa de Passagem | 799 | 306457.7 |
| Disjuntor 50A | 761 | 388448.6 |
| Tubo PVC 100mm | 687 | 295323.2 |
| Areia Lavada | 584 | 219774.5 |
| Vergalhão CA-50 | 535 | 213364.6 |
| status_recebimento | registros | valor_total |
|---|---|---|
| Pendente | 15 | 896111.6 |
| Aguardando Nota | 12 | 834454.5 |
| Recebido | 13 | 564444.5 |
| Conferido | 10 | 478996.0 |
O gráfico de linha apresenta a evolução do valor total das entradas de mercadorias ao longo das datas de recebimento.
O boxplot permite observar a distribuição dos valores totais por categoria de produto.
O histograma apresenta a frequência de ocorrência dos valores totais das entradas de mercadorias.
O gráfico de colunas apresenta o valor total movimentado por categoria.
A análise estatística da base de entrada de mercadorias permitiu compreender o comportamento dos registros de recebimento, identificando os principais fornecedores, produtos e categorias presentes na planilha. A partir dos agrupamentos realizados, foi possível observar quais categorias concentraram maior valor financeiro e quais fornecedores tiveram maior participação no total movimentado.
Os indicadores estatísticos, como média, mediana, desvio padrão, variância, máximo e mínimo, contribuíram para avaliar a distribuição das variáveis numéricas da base. Já os gráficos facilitaram a interpretação visual dos dados, evidenciando a evolução dos valores ao longo do tempo, a distribuição por categoria e a frequência dos valores totais.
Conclui-se que o uso do RStudio e da linguagem R foi adequado para organizar, tratar e analisar a base de dados. O trabalho atende ao objetivo de transformar uma planilha em informações estatísticas e gráficas úteis para interpretação e tomada de decisão.