Neste exemplo será utilizado o conjunto de dados mtcars
disponível no R.
# carregando biblioteca
library(dplyr)
# carregando dataset
dados <- mtcars
# exibindo primeiras linhas
head(dados)
## 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
O comando head() exibe as primeiras linhas do conjunto
de dados.
Cada linha representa um carro e cada coluna representa uma característica, como:
mpg: consumo de combustívelhp: potência do motorwt: peso do carroAgora vamos ordenar os carros da maior para a menor potência
(hp).
dados_ordenados <- dados %>%
arrange(desc(hp))
head(dados_ordenados)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Maserati Bora 15.0 8 301 335 3.54 3.570 14.60 0 1 5 8
## Ford Pantera L 15.8 8 351 264 4.22 3.170 14.50 0 1 5 4
## Duster 360 14.3 8 360 245 3.21 3.570 15.84 0 0 3 4
## Camaro Z28 13.3 8 350 245 3.73 3.840 15.41 0 0 3 4
## Chrysler Imperial 14.7 8 440 230 3.23 5.345 17.42 0 0 3 4
## Lincoln Continental 10.4 8 460 215 3.00 5.424 17.82 0 0 3 4
arrange(desc(hp)) organiza os dados em ordem decrescente
de potência. Assim conseguimos identificar os carros mais potentes do
conjunto de dados.
Agora vamos selecionar apenas carros com mais de 200 cavalos de potência.
dados_filtrados <- dados %>%
filter(hp > 200)
dados_filtrados
## mpg cyl disp hp drat wt qsec vs am gear carb
## Duster 360 14.3 8 360 245 3.21 3.570 15.84 0 0 3 4
## Cadillac Fleetwood 10.4 8 472 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440 230 3.23 5.345 17.42 0 0 3 4
## Camaro Z28 13.3 8 350 245 3.73 3.840 15.41 0 0 3 4
## Ford Pantera L 15.8 8 351 264 4.22 3.170 14.50 0 1 5 4
## Maserati Bora 15.0 8 301 335 3.54 3.570 14.60 0 1 5 8
filter(hp > 200) seleciona somente os carros cuja
potência seja maior que 200. Isso reduz o conjunto de dados apenas aos
veículos de alta potência.
Agora vamos criar uma nova variável chamada wt_kg.
dados_novos <- dados %>%
mutate(wt_kg = wt * 453.592)
head(dados_novos)
## mpg cyl disp hp drat wt qsec vs am gear carb wt_kg
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 1188.411
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 1304.077
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 1052.333
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 1458.298
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 1560.356
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 1569.428
mutate() cria novas colunas. A variável
wt_kg converte o peso wt em milhares de libras
para kg.
summary(dados)
## mpg cyl disp hp
## Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
## 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
## Median :19.20 Median :6.000 Median :196.3 Median :123.0
## Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
## 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
## Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
## drat wt qsec vs
## Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
## 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
## Median :3.695 Median :3.325 Median :17.71 Median :0.0000
## Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
## 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
## Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
## am gear carb
## Min. :0.0000 Min. :3.000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
## Median :0.0000 Median :4.000 Median :2.000
## Mean :0.4062 Mean :3.688 Mean :2.812
## 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :1.0000 Max. :5.000 Max. :8.000
O comando summary() fornece:
O pacote DT permite criar tabelas interativas com busca,
ordenação, filtros, etc.
library(DT)
datatable(
dados,
options = list(
pageLength = 5,
autoWidth = TRUE
),
caption = "Tabela interativa do conjunto mtcars"
)
A regressão linear modela a relação entre variáveis.
\[ y = \beta_0 + \beta_1 x + \epsilon \]
Onde:
Muito utilizada em redes neurais e regressão logística. Essa função transforma valores em probabilidades entre 0 e 1.
\[ \sigma(x) = \frac{1}{1 + e^{-x}} \]
onde:
Usada em classificação de machine learning. Mede o erro entre valores reais e previstos.
\[ H(p,q) = - \sum_{i=1}^{n} p(x_i)\log q(x_i) \] onde:
Mede dispersão dos dados.
\[ \sigma = \sqrt{\frac{\sum (x_i - \mu)^2}{N}} \]
Onde:
Utilizado para otimização em aprendizado de máquina.
\[ \theta = \theta - \alpha \frac{\partial J(\theta)}{\partial \theta} \]
Onde:
hist(
dados$mpg,
main = "Distribuição do Consumo de Combustível",
xlab = "MPG",
col = "lightblue",
border = "black"
)
plot(
dados$wt,
dados$mpg,
main = "Peso vs Consumo",
xlab = "Peso",
ylab = "MPG",
pch = 19,
col = "red"
)
O gráfico mostra a relação entre peso e consumo de combustível.
(Wickham 2016; Hardy and Bryman 2004; Mezmir 2020; Ariel de Lima et al. 2022; Okoye and Hosseini 2024)