Esta seção detalha o carregamento e a manipulação de um conjunto do
conjunto de dados USArrests, nativo do R, que contém
estatísticas de crimes violentos nos 50 estados dos EUA em 1973.
Passo 1: Carregamento e visualização inicial
Primeiro, carregamos os pacotes e o dataset USArrests.
Como os nomes dos estados são “rownames” por padrão, usamos
rownames_to_column() para transformá-los em uma coluna
chamada State.
# Carregar o dataset
data(USArrests)
# Adicionar nomes dos estados como uma coluna
USArrests_df <- USArrests %>%
tibble::rownames_to_column(var = "State")
# Visualizar as primeiras linhas
head(USArrests_df)
## State Murder Assault UrbanPop Rape
## 1 Alabama 13.2 236 58 21.2
## 2 Alaska 10.0 263 48 44.5
## 3 Arizona 8.1 294 80 31.0
## 4 Arkansas 8.8 190 50 19.5
## 5 California 9.0 276 91 40.6
## 6 Colorado 7.9 204 78 38.7
Resultado (passo 1): O output acima mostra as
colunas originais (Murder, Assault, etc.) e a
nova coluna State.
Passo 2: Manipulação dos dados
Agora, vamos realizar uma série de manipulações nos dados.
Passo 2.1: Filtrar (filter) Começamos com
USArrests_df e selecionamos apenas os estados onde a
população urbana (UrbanPop) é superior a 75%.
dados_filtrados <- USArrests_df %>%
filter(UrbanPop > 75)
head(dados_filtrados)
## State Murder Assault UrbanPop Rape
## 1 Arizona 8.1 294 80 31.0
## 2 California 9.0 276 91 40.6
## 3 Colorado 7.9 204 78 38.7
## 4 Connecticut 3.3 110 77 11.1
## 5 Florida 15.4 335 80 31.9
## 6 Hawaii 5.3 46 83 20.2
Resultado (passo 2.1): O head acima
mostra os primeiros estados que atendem ao critério de
UrbanPop > 75.
Passo 2.2: Criar nova variável (mutate) Usando o
resultado anterior (dados_filtrados), criamos uma nova
coluna ViolentCrimes somando Murder,
Assault e Rape.
dados_mutados <- dados_filtrados %>%
mutate(ViolentCrimes = Murder + Assault + Rape)
head(dados_mutados)
## State Murder Assault UrbanPop Rape ViolentCrimes
## 1 Arizona 8.1 294 80 31.0 333.1
## 2 California 9.0 276 91 40.6 325.6
## 3 Colorado 7.9 204 78 38.7 250.6
## 4 Connecticut 3.3 110 77 11.1 124.4
## 5 Florida 15.4 335 80 31.9 382.3
## 6 Hawaii 5.3 46 83 20.2 71.5
Resultado (passo 2.2): O head mostra a
nova coluna ViolentCrimes adicionada no final da
tabela.
Passo 2.3: Ordenar (arrange) Usando o resultado
anterior (dados_mutados), ordenamos os dados pela nova
coluna ViolentCrimes em ordem decrescente.
dados_ordenados <- dados_mutados %>%
arrange(desc(ViolentCrimes))
head(dados_ordenados)
## State Murder Assault UrbanPop Rape ViolentCrimes
## 1 Florida 15.4 335 80 31.9 382.3
## 2 Arizona 8.1 294 80 31.0 333.1
## 3 California 9.0 276 91 40.6 325.6
## 4 Nevada 12.2 252 81 46.0 310.2
## 5 New York 11.1 254 86 26.1 291.2
## 6 Illinois 10.4 249 83 24.0 283.4
Resultado (passo 2.3): O head mostra
que a ordem das linhas mudou. Os estados (com
UrbanPop > 75) que têm mais crimes violentos estão agora
no topo.
Passo 2.4: Selecionar (select) e resultado final
Finalmente, usamos o resultado anterior (dados_ordenados)
para manter apenas as colunas de interesse.
dados_manipulados <- dados_ordenados %>%
select(State, UrbanPop, ViolentCrimes)
head(dados_manipulados)
## State UrbanPop ViolentCrimes
## 1 Florida 80 382.3
## 2 Arizona 80 333.1
## 3 California 91 325.6
## 4 Nevada 81 310.2
## 5 New York 86 291.2
## 6 Illinois 83 283.4
Resultado (Passo 2.4): Este é o head da
nossa tabela final, mostrando apenas o estado, a população urbana e a
nova coluna de crimes violentos, de forma ordenada.
Abaixo está uma tabela interativa utilizando o pacote DT do conjunto
de dados USArrests completo (com a coluna
State adicionada). Você pode usar a caixa de
busca (search), ordenar as colunas
clicando nos cabeçalhos e paginar pelos resultados.
datatable(USArrests_df,
rownames = FALSE,
options = list(
pageLength = 5,
autoWidth = TRUE,
language = list(search = "Buscar:", lengthMenu = "Mostrar _MENU_ entradas")
),
caption = "Tabela interativa USArrests")
1. Teorema de Bayes
O Teorema de Bayes descreve a probabilidade de um evento, baseando-se no conhecimento prévio de condições que podem estar relacionadas ao evento.
\[P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}\]
2. Equação de campo de Einstein
Esta equação é o núcleo da teoria da relatividade geral de Einstein, descrevendo como a matéria e a energia (tensor de energia-momento, \(T_{\mu\nu}\)) curvam o espaço-tempo (tensor de Einstein, \(G_{\mu\nu}\)).
\[G_{\mu\nu} + \Lambda g_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu}\]
3. Equação da regressão logística
A função sigmoid (ou logística) é usada na regressão logística para mapear qualquer valor real para o intervalo (0, 1), representando uma probabilidade.
\[\sigma(z) = \frac{1}{1 + e^{-z}}\]
Onde \(z\) (o log-odds) é tipicamente uma combinação linear das variáveis de entrada: \(z = \beta_0 + \beta_1 x_1 + \dots + \beta_n x_n\).
4. Fórmula de Black-Scholes
Uma equação diferencial parcial usada na matemática financeira para precificar opções europeias.
\[\frac{\partial V}{\partial t} + \frac{1}{2}\sigma^2 S^2 \frac{\partial^2 V}{\partial S^2} + r S \frac{\partial V}{\partial S} - rV = 0\]
5. Transformada de Fourier discreta
A DFT converte uma sequência finita de amostras (no domínio do tempo) em uma sequência de mesma duração de amostras no domínio da frequência.
\[X_k = \sum_{n=0}^{N-1} x_n \cdot e^{-\frac{i 2\pi}{N} k n}\]
Duas imagens relevantes para a área de Ciência de Dados e Machine Learning.
Figura 1: Diagrama de uma Rede Neural Artificial
Esta imagem ilustra a arquitetura básica de uma rede neural, com camadas de entrada (Input), camadas ocultas (Hidden) e camada de saída (Output).
Figura 2: Arquitetura de uma pipeline da dados
Esta imagem ilustra um fluxo de dados padrão em engenharia de dados, conhecido como ETL (Extração, Transformação, Carregamento).
Abaixo está a lista de referências gerada a partir do arquivo
referencias.bib.
Livro: (Wickham, Grolemund, et al.
2017)
Artigo: (Vaswani et al.
2017)
Artigo: (Lewis et al.
2020)
Livro: (Hunt 2014)
Artigo: (Khanam et al. 2021)