Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] Novas análises com R e ggplot2Novas Análises

Nesta atividade do curso R: Aplicando Data Visualization com ggplot2, o desafio foi trabalhar com as bases de clientes e vendas da Zoop de forma integrada.

O objetivo foi realizar uma exploração inicial, tratar os dados, criar uma variável com o valor total de cada venda e, por fim, responder à pergunta:

Qual o faturamento das vendas por região do Brasil em 2023?

1. Importação e união das bases

Inicialmente, foram carregadas as bases de vendas e clientes:

url_vendas = "dados/zoop_vendas.csv" 
url_clientes = "dados/zoop_clientes.csv"

vendas_desafio <- read_csv(url_vendas, show_col_types = FALSE)
clientes_desafio <- read_csv(url_clientes, show_col_types = FALSE)

Em seguida, as duas bases foram unificadas utilizando o ID_compra como chave:

dados_completos <- merge(
  vendas_desafio,
  clientes_desafio,
  by = "ID_compra"
)

head(dados_completos)

Dessa forma, passamos a trabalhar com um único DataFrame contendo informações de clientes e vendas.

2. Exploração inicial

Antes de realizar as transformações, explorei a estrutura da base:

head(dados_completos)

dim(dados_completos)

glimpse(dados_completos)

Com essa exploração inicial é possível verificar os primeiros registros, o tamanho do dataset e os tipos das variáveis.

3. Tratamento dos dados

O próximo passo foi transformar as variáveis do tipo character (chr) em factor, adequando as variáveis categóricas para as análises:

dados_completos <- dados_completos %>%
  mutate(across(where(is.character), as.factor))

Depois da transformação, podemos conferir novamente a estrutura:

glimpse(dados_completos)

4. Criação da coluna total

Para calcular o faturamento, foi necessário criar uma nova variável representando o valor total de cada venda.

A lógica utilizada é:

dados_completos <- dados_completos %>%
  mutate(total = quantidade * preco)

Assim, cada registro passa a ter o valor total correspondente àquela venda.

Observação: quantidade e preco devem corresponder aos nomes das respectivas colunas existentes na base fornecida no projeto.

5. Faturamento das vendas por região em 2023

Com os dados tratados, o próximo passo foi filtrar as vendas realizadas em 2023, agrupar os registros por região e calcular o faturamento:

vendas_regiao_2023 <- dados_completos %>%
  filter(ano == 2023) %>%
  group_by(regiao) %>%
  summarise(
    faturamento = sum(total, na.rm = TRUE)
  )

O resultado pode ser consultado com:

vendas_regiao_2023

6. Visualização com ggplot2

Para facilitar a comparação do faturamento entre as regiões, utilizei um gráfico de barras com o ggplot2:

ggplot(
  vendas_regiao_2023,
  aes(x = regiao, y = faturamento)
) +
  geom_col() +
  labs(
    title = "Faturamento das vendas por região do Brasil em 2023",
    x = "Região",
    y = "Faturamento"
  )

Nesse caso, utilizei geom_col() porque os valores do faturamento já foram previamente calculados e resumidos por região.

Conclusão

Este exercício permitiu aplicar um fluxo bastante completo de análise de dados em R:

Importação → Integração → Exploração → Tratamento → Transformação → Agregação → Visualização

Além da prática com dplyr e ggplot2, achei particularmente interessante trabalhar com a integração das bases de clientes e vendas, porque isso amplia bastante as possibilidades de análise.

A partir dessa estrutura, podemos ir além do faturamento e investigar questões relacionadas ao perfil dos clientes, comportamento de compra, diferenças regionais e desempenho das vendas.

Mais um passo no aprendizado de R aplicado à Data Science e Data Visualization.

1 resposta

Olá, Marcus! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou a integração de bases com merge para consolidar informações em R, utilizou muito bem o mutate com dplyr para criar e transformar variáveis e ainda compreendeu a importância da visualização com ggplot2 para comunicar os resultados de forma clara e comparativa.

Uma dica interessante para o futuro é ordenar as regiões pelo faturamento no gráfico, facilitando a leitura. Assim:

ggplot(vendas_regiao_2023, aes(x = reorder(regiao, -faturamento), y = faturamento, fill = regiao)) +
  geom_col(show.legend = FALSE) +
  labs(
    title = "Faturamento das vendas por região do Brasil em 2023",
    x = "Região",
    y = "Faturamento"
  ) +
  theme_minimal()

Isso faz com que as regiões apareçam em ordem decrescente de faturamento, destacando melhor as diferenças.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Adicionar labels nas barras: mostrar os valores diretamente no gráfico.
  • Criar dashboards com Shiny: transformar análises em aplicações interativas.
  • Explorar facetas (facet_wrap): comparar diferentes anos ou categorias além da região.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: o que você acha mais interessante evoluir neste projeto, ordenar os gráficos para destacar melhor os resultados ou criar dashboards interativos com Shiny para ampliar a análise?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!