Neste exemplo, utilizaremos o conjunto de dados mtcars, disponível por padrão no R. Esse conjunto contém informações sobre consumo de combustível e características de diversos modelos de automóveis.
data("mtcars")
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Vamos selecionar apenas os carros com mpg (milhas por galão) maior que 20, e ordenar pelo consumo (mpg) em ordem decrescente.
mtcars_filtrado <- mtcars %>%
filter(mpg > 20) %>%
arrange(desc(mpg))
mtcars_filtrado
## mpg cyl disp hp drat wt qsec vs am gear carb
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Agora, criaremos uma nova variável chamada eficiencia, que classifica os carros em Alta, Média ou Baixa eficiência, com base no valor de mpg.
mtcars_final <- mtcars_filtrado %>%
mutate(
eficiencia = case_when(
mpg >= 30 ~ "Alta",
mpg >= 25 ~ "Média",
TRUE ~ "Baixa"
)
)
mtcars_final
## mpg cyl disp hp drat wt qsec vs am gear carb eficiencia
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1 Alta
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 Alta
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2 Alta
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 Alta
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1 Média
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2 Média
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 Baixa
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 Baixa
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2 Baixa
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 Baixa
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 Baixa
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2 Baixa
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 Baixa
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 Baixa
Por fim, vamos gerar um pequeno resumo com a média e o desvio padrão de mpg e hp (potência dos carros filtrados).
resumo <- mtcars_final %>%
summarise(
media_mpg = mean(mpg),
desvio_mpg = sd(mpg),
media_hp = mean(hp),
desvio_hp = sd(hp)
)
resumo
## media_mpg desvio_mpg media_hp desvio_hp
## 1 25.47857 4.604209 88.5 21.74591
Abaixo temos uma tabela interativa com ordenação, busca e paginação. Também temos filtro por coluna no topo (filter = “top”) e tradução para pt-BR.
col_mpg_0_based <- which(names(mtcars_final) == "mpg") - 1
datatable(
mtcars_final,
rownames = FALSE,
filter = "top", # caixas de filtro por coluna
options = list(
pageLength = 10, # itens por página
autoWidth = TRUE,
order = list(list(col_mpg_0_based, "desc")), # ordenação inicial por mpg (desc)
lengthMenu = list(c(5, 10, 25, 50, -1), c('5', '10', '25', '50', 'Todos')),
language = list( # tradução pt-BR
url = "[https://cdn.datatables.net/plug-ins/1.13.4/i18n/pt-BR.json](https://cdn.datatables.net/plug-ins/1.13.4/i18n/pt-BR.json)"
)
),
class = "cell-border stripe hover compact"
)
A seguir, apresentamos cinco equações complexas, com seus respectivos significados e aplicações.
\[ Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + \cdots + \beta_pX_p + \varepsilon \]
Significado:
Modela uma variável dependente \(Y\) em
função de múltiplas variáveis independentes \(X_i\).
É amplamente usada em modelos preditivos e
análise estatística.
\[ F(\omega) = \int_{-\infty}^{\infty} f(t)e^{-i\omega t} \, dt \]
Significado:
Decompõe uma função temporal \(f(t)\)
em suas componentes de frequência \(\omega\).
É fundamental em processamento de sinais,
compressão de áudio e análise de séries
temporais.
\[ H(X) = - \sum_{i=1}^{n} p(x_i) \log_2 p(x_i) \]
Significado:
Mede a incerteza ou a quantidade média de informação de uma variável
aleatória \(X\).
Base da teoria da informação e usada em
aprendizado de máquina e compressão de
dados.
\[ J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} \left( h_\theta(x^{(i)}) - y^{(i)} \right)^2 \]
Significado:
Representa o erro médio quadrático entre as previsões \(h_\theta(x^{(i)})\) e os valores reais
\(y^{(i)}\).
É minimizada em algoritmos de otimização supervisionada
(como regressão linear).
\[ P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} \]
Significado:
Permite calcular a probabilidade de um evento \(A\) dado que \(B\) ocorreu.
É central em aprendizado probabilístico,
classificadores bayesianos e inferência
estatística.
A seguir apresentamos duas visualizações clássicas em ciência de
dados, usando o dataset mtcars.
data("mtcars")
mtcars$cyl <- factor(mtcars$cyl) # tratar nº de cilindros como categoria
ggplot(mtcars, aes(x = hp, y = mpg, color = cyl)) +
geom_point(size = 2, alpha = 0.8) +
geom_smooth(method = "loess", se = TRUE) +
labs(
x = "Potência (hp)",
y = "Consumo (mpg)",
color = "Cilindros",
title = "Relação entre Potência e Consumo"
) +
theme_minimal()
Interpretação: Em geral, quanto maior a potência (hp) menor o consumo (mpg). A suavização LOESS ajuda a visualizar a tendência, e a cor por cyl mostra diferenças entre classes de motores.
vars <- c("mpg","hp","wt","disp","qsec")
corr <- cor(mtcars[, vars])
corr_df <- as.data.frame(as.table(corr))
names(corr_df) <- c("Var1","Var2","Corr")
ggplot(corr_df, aes(x = Var1, y = Var2, fill = Corr)) +
geom_tile() +
geom_text(aes(label = sprintf("%.2f", Corr)), size = 3) +
scale_fill_gradient2(limits = c(-1, 1), midpoint = 0) +
labs(
x = NULL, y = NULL,
title = "Correlação entre Variáveis Selecionadas"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Interpretação: Correlações fortes (positivas ou negativas) indicam relacionamentos lineares relevantes para seleção de variáveis, diagnóstico de multicolinearidade e entendimento do domínio (ex.: mpg tem correlação negativa forte com wt e disp).
James, G., Witten, D., Hastie, T., & Tibshirani, R.
(2021). An Introduction to Statistical Learning: with
Applications in R (2nd ed.). Springer.
📘 Obra clássica sobre aprendizado supervisionado, regressão,
classificação e métodos estatísticos aplicados com R.
Goodfellow, I., Bengio, Y., & Courville, A.
(2016). Deep Learning. MIT Press.
📘 Referência fundamental sobre redes neurais e aprendizado profundo,
cobrindo fundamentos teóricos e aplicações práticas.
Wickham, H., & Grolemund, G. (2017). R
for Data Science. O’Reilly Media.
📘 Guia prático para manipulação, visualização e modelagem de dados em
R, com foco em tidyverse e boas práticas de análise.
Shannon, C. E. (1948). A Mathematical Theory
of Communication. Bell System Technical Journal, 27(3),
379–423.
📄 Artigo que introduziu o conceito de entropia da
informação, base para compressão de dados, codificação e
aprendizado estatístico.
Hastie, T., Tibshirani, R., & Friedman, J.
(2009). The Elements of Statistical Learning: Data Mining,
Inference, and Prediction (2nd ed.). Springer.
📘 Um dos livros mais completos sobre métodos estatísticos e
aprendizado de máquina, abordando teoria e
implementação.