# 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) 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.cyl (group_by +
summarise) fornece estatísticas agregadas por tipo de
motor, permitindo comparações entre grupos.mpg mostra quais modelos apresentam
melhor eficiência de combustível.hp (potência) maiores para 8 cilindros e, geralmente, menor
mpg.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.# 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.
\[ \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.
\[ \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.
\[ 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)\).
\[ \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).
\[ \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).
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'
# 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))
(Valente 2020)
(Brooks 1987)
(Hajarian and Diaz 2021)
(Khade et al. 2022)
(Cursino et al. 2018)
dplyr, ggplot2, DT,
reshape2.