gravatar

JeanHott

Jean Hott

Recently Published

PROVA FINAL – CDBD - Visualização de Dados
Este dashboard constitui a avaliação final da disciplina CDBD – Visualização de Dados, integrante da Especialização em Ciência de Dados e Big Data. O projeto visa demonstrar a aplicação prática dos fundamentos de visualização analítica utilizando a linguagem R e o ecossistema ggplot2. A visualização de dados é aqui tratada como uma ferramenta estratégica de comunicação. O objetivo central é converter estruturas de dados abstratas em representações visuais que permitam a cognição imediata de padrões, tendências e anomalias. Adota-se o princípio da eficiência gráfica, priorizando a clareza e a redução da carga cognitiva em detrimento de elementos puramente decorativos. O trabalho estrutura-se em exercícios práticos que abordam: 1.Análise de Correlação: Uso de gráficos de dispersão para variáveis contínuas. 2.Análise de Frequência: Uso de gráficos de barras ordenados para variáveis categóricas. 3.Análise de Distribuição: Uso de boxplots para medidas de posição e dispersão. 4.Fundamentos Teóricos: Discussão sobre Overplotting e a Gramática dos Gráficos. Os exemplos utilizam os datasets clássicos mtcars e diamonds.
PROVA FINAL – CDBD - Visualização de Dados
--- title: "PROVA FINAL – CDBD" output: flexdashboard::flex_dashboard: orientation: rows vertical_layout: scroll theme: cosmo source_code: embed --- <style> .navbar-inverse { background-color: #000000 !important; border-bottom: 4px solid #B3A369 !important; border-top: 4px solid #BDB76B !important; } .navbar-nav > li.active > a { background-color: #BDB76B !important; color: #ffffff !important; } .header-box { display: flex; align-items: center; gap: 20px; padding: 20px 24px; margin-bottom: 26px; background: #f8f8f8; border-left: 6px solid #BDB76B; border-bottom: 1px solid #BDB76B; } .header-title { font-size: 22px; font-weight: 700; color: #222; } .header-subtitle { font-size: 14px; color: #555; } .header-caption { font-size: 13px; color: #777; margin-top: 6px; } </style> <div class="header-box"> <img src="1.png" style="height:90px;"> <div> <div class="header-title">VISUALIZAÇÃO DE DADOS</div> <div class="header-subtitle">Especialização em Ciência de Dados e Big Data</div> <div class="header-caption">Prova Final – CDBD | Entrega: 16/12/2025</div> <div class="header-caption"> Jean Marcos de Paula Hott | jeanhott15@gmail.com | CPF 108.000.926-43 | N.PM 172.457-4 </div> </div> </div> ```{r setup, include=FALSE} library(flexdashboard) library(ggplot2) library(dplyr) if(!require(gridExtra)) install.packages("gridExtra") library(gridExtra) ``` # Introdução Este dashboard constitui a avaliação final da disciplina CDBD – Visualização de Dados, integrante da Especialização em Ciência de Dados e Big Data. O projeto visa demonstrar a aplicação prática dos fundamentos de visualização analítica utilizando a linguagem R e o ecossistema ggplot2. A visualização de dados é aqui tratada como uma ferramenta estratégica de comunicação. O objetivo central é converter estruturas de dados abstratas em representações visuais que permitam a cognição imediata de padrões, tendências e anomalias. Adota-se o princípio da eficiência gráfica, priorizando a clareza e a redução da carga cognitiva em detrimento de elementos puramente decorativos. O trabalho estrutura-se em exercícios práticos que abordam: 1.Análise de Correlação: Uso de gráficos de dispersão para variáveis contínuas. 2.Análise de Frequência: Uso de gráficos de barras ordenados para variáveis categóricas. 3.Análise de Distribuição: Uso de boxplots para medidas de posição e dispersão. 4.Fundamentos Teóricos: Discussão sobre Overplotting e a Gramática dos Gráficos. Os exemplos utilizam os datasets clássicos mtcars e diamonds. # Exercício 1.1 Relação entre Peso e Consumo de Combustível Row ------------------------------------- ### Interpretação {.column width=35%} **Interpretação Analítica** O gráfico de dispersão (scatter plot) revela uma correlação linear negativa forte entre o peso do veículo (wt) e a eficiência de combustível (mpg). Isso indica estatisticamente que o aumento da massa do veículo é um fator determinante para a redução da sua autonomia por galão. **Segmentação por Cilindros** A inclusão da variável categórica cyl (cilindros) através do mapeamento de cores permite identificar clusters distintos: - **4 cilindros (azul):** Veículos mais leves e com alta eficiência energética. - **6 cilindros(verde):** Cluster intermediário. - **8 cilindros (vermelho):** Veículos pesados e com baixo rendimento (maior consumo). **Conclusão** Conclui-se que tanto o peso do veículo quanto o número de cilindros exercem influência significativa no consumo de combustível. Veículos mais leves e com menor número de cilindros tendem a apresentar melhor desempenho energético. ### Gráfico de Dispersão {.column width=65%} ```{r} ggplot(mtcars, aes(x = wt, y = mpg, color = factor(cyl))) + geom_point(size = 3, alpha = 0.8) + labs( title = "Relação entre Peso e Consumo de Combustível", x = "Peso do Veículo (wt)", y = "Consumo (mpg)", color = "Cilindros" ) + theme_minimal() + theme(legend.position = "bottom") ``` # Exercício 1.2 Frequência de Cortes Row ------------------------------------- ### Interpretação {.column width=35%} **Interpretação Analítica** Este gráfico de barras ilustra a frequência absoluta dos diferentes tipos de corte (cut) na base de dados diamonds. A ordenação decrescente das barras é uma decisão de design crucial, pois facilita a comparação imediata entre as categorias. **Insights Visuais** - O corte "Ideal" é o mais frequente, sugerindo uma predominância de pedras de alta qualidade de lapidação nesta amostra. - O corte "Fair" (Justo) é o menos representativo. - A visualização respeita o princípio de que dados nominais devem ser ordenados por valor (frequência) e não alfabeticamente. **Conclusão** A análise gráfica confirma a predominância significativa de diamantes com corte "Ideal", sugerindo um viés de alta qualidade na amostra. A ordenação decrescente das barras otimiza a legibilidade, permitindo a identificação imediata das categorias de menor frequência, enquanto os rótulos diretos eliminam a ambiguidade na leitura dos valores exatos. ### Gráfico de Barras {.column width=65%} ```{r} diamonds %>% count(cut) %>% arrange(desc(n)) %>% ggplot(aes(x = reorder(cut, n), y = n, fill = cut)) + geom_col(show.legend = FALSE) + geom_text(aes(label = n), vjust = -0.5, size = 3.5) + scale_fill_brewer(palette = "Spectral") + labs( title = "Contagem de Diamantes por Corte", subtitle = "Ordenado por frequência decrescente", x = "Tipo de Corte", y = "Quantidade" ) + theme_minimal() + coord_cartesian(ylim = c(0, 23000)) ``` # Exercício 1.3 Distribuição de Preços Row ------------------------------------- ### Interpretação {.column width=35%} **Interpretação Analítica** O Boxplot é utilizado aqui para comparar a distribuição estatística dos preços (price) condicionada ao tipo de corte (cut). **Insights Visuais** - Variabilidade: Cortes como "Premium" apresentam uma amplitude interquartil maior (caixa maior), indicando maior variação de preços. - Mediana: Curiosamente, os cortes "Ideal" possuem uma mediana de preço ligeiramente inferior a cortes "Fair". - Outliers: A grande quantidade de pontos acima do "bigode" superior indica uma distribuição assimétrica à direita. **Conclusão** O boxplot revela que, paradoxalmente, cortes de maior qualidade técnica podem apresentar medianas de preço inferiores (provavelmente devido ao tamanho menor das pedras). A visualização é eficaz em destacar a alta variabilidade nos cortes "Premium" e a presença massiva de outliers na cauda superior, indicando que existem diamantes excepcionalmente caros em todas as categorias de corte. ### Boxplot {.column width=65%} ```{r} ggplot(diamonds, aes(x = cut, y = price, fill = cut)) + geom_boxplot(alpha = 0.7, show.legend = FALSE) + scale_fill_brewer(palette = "Set2") + labs( title = "Distribuição de Preços por Tipo de Corte", x = "Qualidade do Corte", y = "Preço (USD)" ) + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) ``` # Exercício 1.4 Conceitos Fundamentais Row {data-height=180} ------------------------------------- ### Letra A – O Problema do Overplotting Diferença Técnica Em grandes conjuntos de dados ou quando variáveis são discretas (como o número de cilindros), ocorre o fenômeno do Overplotting (sobreposição). Múltiplos pontos ocupam exatamente a mesma coordenada cartesiana. - **`geom_point()`** Plota os dados com precisão matemática exata. No exemplo abaixo (lado esquerdo), parece haver poucos carros devido à sobreposição dos pontos. - **`geom_jitter()`** Aplica um pequeno deslocamento aleatório. No exemplo abaixo (lado direito), a "nuvem" de pontos revela a quantidade real de observações. Row {data-height=400} ------------------------------------- ### Comparação Visual ```{r} library(ggplot2) library(gridExtra) p1 <- ggplot(mtcars, aes(x = factor(cyl), y = mpg)) + geom_point(size = 4, color = "#1f77b4", alpha = 0.6) + coord_cartesian(ylim = c(10, 35)) + labs( title = "geom_point() – Sobreposição", x = "Cilindros", y = "Consumo (mpg)" ) + theme_minimal() p2 <- ggplot(mtcars, aes(x = factor(cyl), y = mpg)) + geom_jitter(width = 0.25, height = 0, size = 4, color = "#d62728", alpha = 0.6) + coord_cartesian(ylim = c(10, 35)) + labs( title = "geom_jitter() – Dispersão", x = "Cilindros", y = NULL ) + theme_minimal() grid.arrange(p1, p2, ncol = 2) ``` Row {data-height=350} ------------------------------------- ### Letra B – Gramática dos Gráficos Teoria da Visualização A Gramática dos Gráficos (The Grammar of Graphics) Desenvolvido por Leland Wilkinson, este conceito define que um gráfico não é uma figura estática, mas uma construção lógica. O ggplot2 implementa essa gramática através de camadas (layers) conectadas pelo operador + : 1. Dados (Data): O dataframe base. 2. Estética (Aesthetics): Mapeamento visual (X, Y, Cor). 3. Geometrias (Geoms): A forma visual (pontos, barras). 4. Facetas: Sub-painéis. 5. Estatísticas: Transformações. 6. Coordenadas: Espaço do desenho. 7. Temas: Elementos visuais.
PROVA FINAL – CDBD - Visualização de Dados
Especialização em Ciência de Dados e Big Data Prova Final – CDBD | Entrega: 16/12/2025