1 Relatório

1.1 Item 1 — Carregamento e manipulação dos dados

1.1.1 Código: carregar e manipular um conjunto de dados simples

# install.packages(c("tidyverse", "DT", "ggplot2", "tidyr", "reshape2"))
# Carregar pacotes necessários
library(dplyr)
## 
## Anexando pacote: 'dplyr'
## Os seguintes objetos são mascarados por 'package:stats':
## 
##     filter, lag
## Os seguintes objetos são mascarados por 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
## Warning: pacote 'ggplot2' foi compilado no R versão 4.5.2
library(DT)
## Warning: pacote 'DT' foi compilado no R versão 4.5.2
library(tidyr)
# Usaremos o conjunto de dados `mtcars` (simples e disponível no R)
data("mtcars")
df <- mtcars

# Visualizar as primeiras linhas
head(df)

1.1.2 Manipulações realizadas (código + explicação)

# 1) Ordenar por mpg (maior para menor)
df_sorted <- df %>% arrange(desc(mpg))

# 2) Filtrar veículos com 6 ou 8 cilindros
df_filtered <- df %>% filter(cyl %in% c(6, 8))

# 3) Criar nova variável: power_to_weight = hp / wt
df_mutated <- df %>% mutate(power_to_weight = hp / wt)

# 4) Resumo por número de cilindros
df_summary <- df %>%
  group_by(cyl) %>%
  summarise(
    n = n(),
    mpg_mean = mean(mpg),
    hp_mean = mean(hp),
    wt_mean = mean(wt),
    ptw_mean = mean(hp / wt)
  )

# Mostrar resultados
df_sorted %>% head(6)
df_filtered %>% head(6)
df_mutated %>% select(hp, wt, power_to_weight) %>% head(6)
df_summary

Explicações detalhadas dos passos acima

  • arrange(desc(mpg)): ordena o conjunto de dados com base em mpg (milhas por galão) do maior para o menor. Isso facilita identificar veículos mais econômicos.
  • filter(cyl %in% c(6, 8)): mantém apenas observações com 6 ou 8 cilindros — útil para comparar grupos de motor.
  • mutate(power_to_weight = hp / wt): cria uma nova variável que relaciona potência (hp) ao peso (wt) — um indicador simples de desempenho relativo.
  • A sumarização por cyl (group_by + summarise) fornece estatísticas agregadas por tipo de motor, permitindo comparações entre grupos.

1.1.3 Resultados obtidos (interpretação)

  • A ordenação por mpg mostra quais modelos apresentam melhor eficiência de combustível.
  • A comparação entre 6 e 8 cilindros tende a mostrar médias de hp (potência) maiores para 8 cilindros e, geralmente, menor mpg.
  • A nova variável power_to_weight permite identificar veículos com alta potência relativa ao peso — modelos com maior ptw_mean tendem a ter aceleração/performace melhores.

1.2 Item 2 — Tabela interativa com DT

# Exibir uma tabela interativa do data frame manipulado
DT::datatable(
  df_mutated %>% select(mpg, cyl, hp, wt, power_to_weight),
  options = list(pageLength = 10, searchHighlight = TRUE),
  rownames = TRUE
)

A tabela acima fornece ordenação por coluna, busca e paginação automaticamente.


1.3 Item 3 — Cinco equações em LaTeX (com significado)

1.3.1 Equação 1 — Modelo de regressão linear (forma matricial)

\[ \mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon} \]

Significado: vetor de observações \(\mathbf{y}\) é explicado pela matriz de covariáveis \(\mathbf{X}\) multiplicada pelos parâmetros \(\boldsymbol{\beta}\) mais termos de erro \(\boldsymbol{\varepsilon}\). Usado para ajustar modelos lineares.


1.3.2 Equação 2 — Estimador de Mínimos Quadrados Ordinários (OLS)

\[ \hat{\boldsymbol{\beta}} = (\mathbf{X}^\top \mathbf{X})^{-1} \mathbf{X}^\top \mathbf{y} \]

Significado: fórmula fechada para obter os coeficientes que minimizam a soma dos quadrados dos resíduos em regressão linear.


1.3.3 Equação 3 — Teorema de Bayes (forma contínua/discreta)

\[ P(\theta \mid \mathcal{D}) = \frac{P(\mathcal{D} \mid \theta) \, P(\theta)}{P(\mathcal{D})} \]

Significado: atualiza a crença (posterior) sobre parâmetro \(\theta\) após observar dados \(\mathcal{D}\); combina a verossimilhança \(P(\mathcal{D}\mid\theta)\) com a prior \(P(\theta)\).


1.3.4 Equação 4 — Decomposição espectral (PCA)

\[ \mathbf{S} = \mathbf{V} \mathbf{\Lambda} \mathbf{V}^\top \]

Significado: a matriz de covariâncias \(\mathbf{S}\) pode ser diagonalizada por autovetores \(\mathbf{V}\) e autovalores \(\mathbf{\Lambda}\) — base teórica do PCA (análise de componentes principais).


1.3.5 Equação 5 — Função de perda Entropia Cruzada (para classificação)

\[ \mathcal{L} = -\frac{1}{N}\sum_{i=1}^{N} \sum_{k=1}^{K} y_{ik} \log(\hat{p}_{ik}) \]

Significado: mede a discrepância entre as classes verdadeiras \(y_{ik}\) (one-hot) e as probabilidades previstas \(\hat{p}_{ik}\); amplamente usada em classificação (por exemplo, redes neurais).


1.4 Item 4 — Duas figuras relacionadas à ciência de dados

1.4.1 Figura 1 — Dispersão mpg vs hp com ajuste linear

ggplot(df, aes(x = hp, y = mpg)) +
  geom_point() +
  geom_smooth(method = "lm", se = TRUE) +
  labs(title = "Relação entre Potência (hp) e Consumo (mpg)",
       x = "Potência (hp)",
       y = "Consumo (mpg)")
## `geom_smooth()` using formula = 'y ~ x'

1.4.2 Figura 2 — Mapa de calor das correlações (heatmap)

# Matriz de correlação
corr_mat <- round(cor(df), 2)
# Transformar para formato longo
library(reshape2)
## Warning: pacote 'reshape2' foi compilado no R versão 4.5.2
## 
## Anexando pacote: 'reshape2'
## O seguinte objeto é mascarado por 'package:tidyr':
## 
##     smiths
corr_long <- reshape2::melt(corr_mat)
ggplot(corr_long, aes(Var1, Var2, fill = value)) +
  geom_tile() +
  geom_text(aes(label = value), size = 3) +
  labs(title = "Mapa de calor das correlações (mtcars)") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))


1.5 Item 5 — Referências bibliográficas (pesquisadas)

(Valente 2020)

(Brooks 1987)

(Hajarian and Diaz 2021)

(Khade et al. 2022)

(Cursino et al. 2018)


2 Observações finais

Referências citadas no Item 5

Brooks, Frederick Phillips. 1987. “No Silver Bullet Essence and Accidents of Software Engineering.” Computer 20 (4): 10–19. https://doi.org/10.1109/MC.1987.1663532.
Cursino, Rodrigo, Daniel Ferreira, Maria Lencastre, Roberta Fagundes, and João Pimentel. 2018. “Gamification in Requirements Engineering: A Systematic Review.” In 2018 11th International Conference on the Quality of Information and Communications Technology (QUATIC), 119–25. https://doi.org/10.1109/QUATIC.2018.00025.
Hajarian, Mohammad, and Paloma Diaz. 2021. “Effective Gamification: A Guideline for Gamification Workshop of WEEF-GEDC 2021 Madrid Conference.” In 2021 World Engineering Education Forum/Global Engineering Deans Council (WEEF/GEDC), 506–10. https://doi.org/10.1109/WEEF/GEDC53299.2021.9657452.
Khade, Vinayak, Nafiseh Masoudi, Dane Acena, Guo Freeman, Rahul Rai, David Gorsich, Denise Rizzo, and Matt Castanier. 2022. Requirements Elicitation: Impacts of Gamification on Variety, Novelty, and Completeness.” In, Volume 4: Biomedical and Biotechnology; Design, Systems, and Complexity:V004T06A019. ASME International Mechanical Engineering Congress and Exposition. https://doi.org/10.1115/IMECE2022-96016.
Valente, Marco Tulio. 2020. Engenharia de Software Moderna: Princípios e Práticas Para Desenvolvimento de Software Com Produtividade. MARCO TULIO DE OLIVEIRA VALENTE - POD.