Introdução

Este relatório apresenta uma análise aprofundada do dataset Groceries, que contém transações de compras em um supermercado. O objetivo é demonstrar técnicas de manipulação de dados, análise exploratória e mineração de regras de associação utilizando R.

O dataset Groceries é amplamente utilizado em estudos de Market Basket Analysis (Análise de Cesta de Compras), permitindo identificar padrões de consumo e relações entre produtos.


1 Carregamento e Manipulação de Dados

1.1 Carregando o Dataset

# Carregar pacotes necessários
library(arules)      # Para análise de regras de associação
library(arulesViz)   # Para visualização de regras
library(DT)          # Para tabelas interativas
library(dplyr)       # Para manipulação de dados
library(ggplot2)     # Para gráficos avançados
library(tidyr)       # Para organização de dados
library(knitr)       # Para formatação
library(kableExtra)  # Para tabelas elegantes

# Configurações globais
opts_chunk$set(
  fig.align = 'center',
  message = FALSE,
  warning = FALSE,
  fig.width = 10,
  fig.height = 6
)

# Carregar o dataset groceries
data("Groceries")

# Informações básicas
cat("=== INFORMAÇÕES DO DATASET ===\n")
## === INFORMAÇÕES DO DATASET ===
cat("Número de transações:", length(Groceries), "\n")
## Número de transações: 9835
cat("Número de itens únicos:", length(itemLabels(Groceries)), "\n")
## Número de itens únicos: 169
# Calcular densidade corretamente
densidade <- round(size(Groceries) / (length(Groceries) * length(itemLabels(Groceries))), 4)
cat("Densidade da matriz:", densidade, "\n")
## Densidade da matriz: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1.1.1 Estrutura dos Dados

# Visualizar as primeiras transações
inspect(head(Groceries, 10))
##      items                     
## [1]  {citrus fruit,            
##       semi-finished bread,     
##       margarine,               
##       ready soups}             
## [2]  {tropical fruit,          
##       yogurt,                  
##       coffee}                  
## [3]  {whole milk}              
## [4]  {pip fruit,               
##       yogurt,                  
##       cream cheese ,           
##       meat spreads}            
## [5]  {other vegetables,        
##       whole milk,              
##       condensed milk,          
##       long life bakery product}
## [6]  {whole milk,              
##       butter,                  
##       yogurt,                  
##       rice,                    
##       abrasive cleaner}        
## [7]  {rolls/buns}              
## [8]  {other vegetables,        
##       UHT-milk,                
##       rolls/buns,              
##       bottled beer,            
##       liquor (appetizer)}      
## [9]  {pot plants}              
## [10] {whole milk,              
##       cereals}
# Converter para dataframe para análises adicionais
groceries_df <- as(Groceries, "data.frame")

# Exibir amostra do dataframe
kable(head(groceries_df, 15), 
      caption = "Primeiras 15 linhas do Dataset Groceries") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
                full_width = FALSE)
Primeiras 15 linhas do Dataset Groceries
items
{citrus fruit,semi-finished bread,margarine,ready soups}
{tropical fruit,yogurt,coffee}
{whole milk}
{pip fruit,yogurt,cream cheese ,meat spreads}
{other vegetables,whole milk,condensed milk,long life bakery product}
{whole milk,butter,yogurt,rice,abrasive cleaner}
{rolls/buns}
{other vegetables,UHT-milk,rolls/buns,bottled beer,liquor (appetizer)}
{pot plants}
{whole milk,cereals}
{tropical fruit,other vegetables,white bread,bottled water,chocolate}
{citrus fruit,tropical fruit,whole milk,butter,curd,yogurt,flour,bottled water,dishes}
{beef}
{frankfurter,rolls/buns,soda}
{chicken,tropical fruit}

1.2 Análise Exploratória Detalhada

1.2.1 Frequência de Itens

# Calcular frequências absolutas e relativas
item_freq_abs <- itemFrequency(Groceries, type = "absolute")
item_freq_rel <- itemFrequency(Groceries, type = "relative")

# Criar dataframe completo
item_freq_df <- data.frame(
  Item = names(item_freq_abs),
  Frequencia_Absoluta = as.numeric(item_freq_abs),
  Frequencia_Relativa = round(as.numeric(item_freq_rel) * 100, 2),
  Porcentagem = paste0(round(as.numeric(item_freq_rel) * 100, 2), "%")
) %>%
  arrange(desc(Frequencia_Absoluta))

# Exibir top 20
kable(head(item_freq_df, 20), 
      caption = "Top 20 Produtos Mais Comprados",
      col.names = c("Produto", "Freq. Absoluta", "Freq. Relativa (%)", "Porcentagem")) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
                full_width = FALSE) %>%
  row_spec(1:3, bold = TRUE, color = "white", background = "#3498db")
Top 20 Produtos Mais Comprados
Produto Freq. Absoluta Freq. Relativa (%) Porcentagem
whole milk 2513 25.55 25.55%
other vegetables 1903 19.35 19.35%
rolls/buns 1809 18.39 18.39%
soda 1715 17.44 17.44%
yogurt 1372 13.95 13.95%
bottled water 1087 11.05 11.05%
root vegetables 1072 10.90 10.9%
tropical fruit 1032 10.49 10.49%
shopping bags 969 9.85 9.85%
sausage 924 9.40 9.4%
pastry 875 8.90 8.9%
citrus fruit 814 8.28 8.28%
bottled beer 792 8.05 8.05%
newspapers 785 7.98 7.98%
canned beer 764 7.77 7.77%
pip fruit 744 7.56 7.56%
fruit/vegetable juice 711 7.23 7.23%
whipped/sour cream 705 7.17 7.17%
brown bread 638 6.49 6.49%
domestic eggs 624 6.34 6.34%

1.2.2 Manipulações Avançadas

# 1. FILTRAR itens com frequência > 1000
top_items <- item_freq_df %>%
  filter(Frequencia_Absoluta > 1000) %>%
  arrange(desc(Frequencia_Absoluta))

# 2. CRIAR categorias de popularidade
top_items <- top_items %>%
  mutate(
    Categoria = case_when(
      Frequencia_Absoluta > 2000 ~ "Muito Popular",
      Frequencia_Absoluta > 1500 ~ "Popular",
      Frequencia_Absoluta > 1000 ~ "Moderado",
      TRUE ~ "Baixo"
    ),
    Quartil = ntile(Frequencia_Absoluta, 4),
    Score_Normalizado = round((Frequencia_Absoluta - min(Frequencia_Absoluta)) / 
                               (max(Frequencia_Absoluta) - min(Frequencia_Absoluta)), 3)
  )

# 3. ORDENAR por múltiplos critérios
top_items <- top_items %>%
  arrange(desc(Categoria), desc(Frequencia_Absoluta))

# Exibir resultado
cat("\n=== RESUMO DAS MANIPULAÇÕES ===\n")
## 
## === RESUMO DAS MANIPULAÇÕES ===
cat("Itens filtrados (freq > 1000):", nrow(top_items), "\n")
## Itens filtrados (freq > 1000): 8
cat("Categorias criadas:", length(unique(top_items$Categoria)), "\n\n")
## Categorias criadas: 3
print(top_items)
##               Item Frequencia_Absoluta Frequencia_Relativa Porcentagem
## 1 other vegetables                1903               19.35      19.35%
## 2       rolls/buns                1809               18.39      18.39%
## 3             soda                1715               17.44      17.44%
## 4       whole milk                2513               25.55      25.55%
## 5           yogurt                1372               13.95      13.95%
## 6    bottled water                1087               11.05      11.05%
## 7  root vegetables                1072               10.90       10.9%
## 8   tropical fruit                1032               10.49      10.49%
##       Categoria Quartil Score_Normalizado
## 1       Popular       4             0.588
## 2       Popular       3             0.525
## 3       Popular       3             0.461
## 4 Muito Popular       4             1.000
## 5      Moderado       2             0.230
## 6      Moderado       2             0.037
## 7      Moderado       1             0.027
## 8      Moderado       1             0.000

1.2.3 Estatísticas Descritivas

# Estatísticas por categoria
stats_categoria <- top_items %>%
  group_by(Categoria) %>%
  summarise(
    N_Produtos = n(),
    Freq_Media = round(mean(Frequencia_Absoluta), 2),
    Freq_Mediana = median(Frequencia_Absoluta),
    Freq_Min = min(Frequencia_Absoluta),
    Freq_Max = max(Frequencia_Absoluta),
    Desvio_Padrao = round(sd(Frequencia_Absoluta), 2)
  ) %>%
  arrange(desc(Freq_Media))

kable(stats_categoria, 
      caption = "Estatísticas Descritivas por Categoria de Popularidade") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
                full_width = FALSE)
Estatísticas Descritivas por Categoria de Popularidade
Categoria N_Produtos Freq_Media Freq_Mediana Freq_Min Freq_Max Desvio_Padrao
Muito Popular 1 2513.00 2513.0 2513 2513 NA
Popular 3 1809.00 1809.0 1715 1903 94.0
Moderado 4 1140.75 1079.5 1032 1372 155.9
# Box plot das frequências
boxplot(Frequencia_Absoluta ~ Categoria, 
        data = top_items,
        main = "Distribuição de Frequências por Categoria",
        xlab = "Categoria",
        ylab = "Frequência Absoluta",
        col = c("#e74c3c", "#f39c12", "#3498db"),
        border = "darkblue",
        notch = TRUE)

1.3 Visualizações Avançadas

1.3.1 Gráfico de Barras Horizontal

# Top 20 produtos
top_20 <- head(top_items, 20)

par(mar = c(5, 10, 4, 2))
barplot(
  top_20$Frequencia_Absoluta,
  names.arg = top_20$Item,
  horiz = TRUE,
  las = 1,
  col = colorRampPalette(c("#3498db", "#e74c3c"))(20),
  main = "Top 20 Produtos Mais Comprados",
  xlab = "Frequência Absoluta",
  cex.names = 0.8,
  border = NA
)
grid(nx = 10, ny = 0, col = "gray", lty = "dotted")

1.3.2 Distribuição de Frequências

hist(item_freq_df$Frequencia_Absoluta,
     breaks = 50,
     col = "#3498db",
     border = "white",
     main = "Distribuição de Frequências dos Produtos",
     xlab = "Frequência Absoluta",
     ylab = "Número de Produtos",
     xlim = c(0, 3000))

# Adicionar linha da média
abline(v = mean(item_freq_df$Frequencia_Absoluta), 
       col = "red", 
       lwd = 2, 
       lty = 2)
legend("topright", 
       legend = paste("Média =", round(mean(item_freq_df$Frequencia_Absoluta), 2)),
       col = "red", 
       lty = 2, 
       lwd = 2)

1.3.3 Análise de Pareto (80/20)

# Calcular frequência acumulada
item_freq_df <- item_freq_df %>%
  mutate(
    Freq_Acumulada = cumsum(Frequencia_Absoluta),
    Perc_Acumulada = (Freq_Acumulada / sum(Frequencia_Absoluta)) * 100
  )

# Encontrar ponto onde atinge 80%
ponto_80 <- min(which(item_freq_df$Perc_Acumulada >= 80))

cat("=== ANÁLISE DE PARETO ===\n")
## === ANÁLISE DE PARETO ===
cat("80% das vendas concentram-se em", ponto_80, "produtos\n")
## 80% das vendas concentram-se em 54 produtos
cat("Isso representa", round((ponto_80 / nrow(item_freq_df)) * 100, 2), 
    "% do total de produtos\n")
## Isso representa 31.95 % do total de produtos

1.4 Regras de Associação

1.4.1 Mineração de Regras

# Gerar regras de associação
regras <- apriori(Groceries,
                  parameter = list(
                    support = 0.001,     # Suporte mínimo
                    confidence = 0.5,    # Confiança mínima
                    minlen = 2,          # Tamanho mínimo da regra
                    maxlen = 5           # Tamanho máximo da regra
                  ))
## Apriori
## 
## Parameter specification:
##  confidence minval smax arem  aval originalSupport maxtime support minlen
##         0.5    0.1    1 none FALSE            TRUE       5   0.001      2
##  maxlen target  ext
##       5  rules TRUE
## 
## Algorithmic control:
##  filter tree heap memopt load sort verbose
##     0.1 TRUE TRUE  FALSE TRUE    2    TRUE
## 
## Absolute minimum support count: 9 
## 
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[169 item(s), 9835 transaction(s)] done [0.00s].
## sorting and recoding items ... [157 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 5
##  done [0.01s].
## writing ... [5622 rule(s)] done [0.00s].
## creating S4 object  ... done [0.00s].
cat("=== REGRAS DE ASSOCIAÇÃO GERADAS ===\n")
## === REGRAS DE ASSOCIAÇÃO GERADAS ===
cat("Total de regras encontradas:", length(regras), "\n\n")
## Total de regras encontradas: 5622
# Ordenar por lift
regras_ordenadas <- sort(regras, by = "lift", decreasing = TRUE)

# Top 10 regras com maior lift
cat("Top 10 Regras com Maior Lift:\n")
## Top 10 Regras com Maior Lift:
inspect(head(regras_ordenadas, 10))
##      lhs                         rhs                  support confidence    coverage     lift count
## [1]  {Instant food products,                                                                       
##       soda}                   => {hamburger meat} 0.001220132  0.6315789 0.001931876 18.99565    12
## [2]  {soda,                                                                                        
##       popcorn}                => {salty snack}    0.001220132  0.6315789 0.001931876 16.69779    12
## [3]  {flour,                                                                                       
##       baking powder}          => {sugar}          0.001016777  0.5555556 0.001830198 16.40807    10
## [4]  {ham,                                                                                         
##       processed cheese}       => {white bread}    0.001931876  0.6333333 0.003050330 15.04549    19
## [5]  {whole milk,                                                                                  
##       Instant food products}  => {hamburger meat} 0.001525165  0.5000000 0.003050330 15.03823    15
## [6]  {other vegetables,                                                                            
##       curd,                                                                                        
##       yogurt,                                                                                      
##       whipped/sour cream}     => {cream cheese }  0.001016777  0.5882353 0.001728521 14.83409    10
## [7]  {processed cheese,                                                                            
##       domestic eggs}          => {white bread}    0.001118454  0.5238095 0.002135231 12.44364    11
## [8]  {tropical fruit,                                                                              
##       other vegetables,                                                                            
##       yogurt,                                                                                      
##       white bread}            => {butter}         0.001016777  0.6666667 0.001525165 12.03058    10
## [9]  {hamburger meat,                                                                              
##       yogurt,                                                                                      
##       whipped/sour cream}     => {butter}         0.001016777  0.6250000 0.001626843 11.27867    10
## [10] {liquor,                                                                                      
##       red/blush wine}         => {bottled beer}   0.001931876  0.9047619 0.002135231 11.23527    19

1.4.2 Análise das Melhores Regras

# Converter regras para dataframe
regras_df <- as(regras_ordenadas, "data.frame")

# Selecionar top 15
top_regras <- head(regras_df, 15) %>%
  mutate(
    support = round(support, 4),
    confidence = round(confidence, 4),
    coverage = round(coverage, 4),
    lift = round(lift, 2),
    count = round(count, 0)
  )

# Criar descrição mais legível
top_regras$Descricao <- paste0(
  "Se compra ", 
  gsub("[{}]", "", top_regras$rules),
  " (Lift: ", top_regras$lift, ")"
)

2 Tabela Interativa com DT

2.1 Tabela de Produtos

Tabela interativa completa com todos os produtos e suas estatísticas:

datatable(
  top_items %>% select(Item, Frequencia_Absoluta, Frequencia_Relativa, 
                       Categoria, Quartil, Score_Normalizado),
  caption = "Tabela Interativa: Análise Completa dos Produtos",
  filter = "top",
  extensions = c('Buttons', 'FixedHeader'),
  options = list(
    pageLength = 15,
    autoWidth = TRUE,
    searchHighlight = TRUE,
    dom = 'Bfrtip',
    buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),
    fixedHeader = TRUE,
    scrollX = TRUE,
    columnDefs = list(
      list(className = 'dt-center', targets = 1:5)
    )
  ),
  rownames = FALSE,
  class = 'cell-border stripe hover'
) %>%
  formatStyle(
    'Categoria',
    backgroundColor = styleEqual(
      c('Muito Popular', 'Popular', 'Moderado'),
      c('#e74c3c', '#f39c12', '#3498db')
    ),
    color = 'white',
    fontWeight = 'bold'
  ) %>%
  formatPercentage('Score_Normalizado', 1) %>%
  formatRound(c('Frequencia_Absoluta', 'Frequencia_Relativa'), 0)

Funcionalidades disponíveis:

  • 🔍 Busca global e por coluna
  • 📊 Ordenação clicável em qualquer coluna
  • 📄 Paginação com controle de registros por página
  • 📥 Export para CSV, Excel, PDF e impressão
  • 🎨 Destaque de categorias por cor
  • 📌 Cabeçalho fixo ao rolar

2.2 Tabela de Regras

Regras de associação mais relevantes:

datatable(
  top_regras %>% select(rules, support, confidence, lift, count),
  caption = "Top 15 Regras de Associação (ordenadas por Lift)",
  filter = "top",
  extensions = 'Buttons',
  options = list(
    pageLength = 10,
    dom = 'Bfrtip',
    buttons = c('copy', 'csv', 'excel'),
    scrollX = TRUE,
    columnDefs = list(
      list(width = '400px', targets = 0)
    )
  ),
  rownames = FALSE,
  class = 'cell-border stripe'
) %>%
  formatRound(c('support', 'confidence'), 4) %>%
  formatRound('lift', 2) %>%
  formatStyle(
    'lift',
    background = styleColorBar(range(top_regras$lift), '#3498db'),
    backgroundSize = '100% 90%',
    backgroundRepeat = 'no-repeat',
    backgroundPosition = 'center'
  )

3 Equações Matemáticas em LaTeX

3.1 Equação 1: Suporte (Support)

3.1.1 Formulação Matemática

\[ \text{supp}(X) = \frac{|\{t \in T \mid X \subseteq t\}|}{|T|} \]

Onde: - \(T\) = conjunto de todas as transações - \(X\) = conjunto de itens (itemset) - \(t\) = uma transação individual - \(|\cdot|\) = cardinalidade do conjunto

3.1.2 Significado e Interpretação

O suporte mede a frequência relativa de um conjunto de itens \(X\) no dataset. Representa a proporção de transações que contêm todos os itens de \(X\).

Interpretação prática: - Suporte alto (\(\geq\) 0.3): item muito comum - Suporte médio (0.1 - 0.3): item moderadamente comum - Suporte baixo (\(<\) 0.1): item raro

Exemplo: Se {leite} aparece em 2.513 de 9.835 transações: \[\text{supp}(\text{leite}) = \frac{2513}{9835} = 0.2555 = 25.55\%\]

3.2 Equação 2: Confiança (Confidence)

3.2.1 Formulação Matemática

\[ \text{conf}(X \Rightarrow Y) = \frac{\text{supp}(X \cup Y)}{\text{supp}(X)} = P(Y|X) \]

Forma alternativa: \[ \text{conf}(X \Rightarrow Y) = \frac{|\{t \in T \mid X \cup Y \subseteq t\}|}{|\{t \in T \mid X \subseteq t\}|} \]

3.2.2 Significado e Interpretação

A confiança mede a probabilidade condicional de encontrar \(Y\) dado que \(X\) está presente na transação. É fundamental para avaliar a força de regras de associação.

Interpretação prática: - Confiança alta (\(\geq\) 0.7): regra forte e confiável - Confiança média (0.5 - 0.7): regra moderada - Confiança baixa (\(<\) 0.5): regra fraca

Exemplo: Se 80% das pessoas que compram pão também compram leite: \[\text{conf}(\text{pão} \Rightarrow \text{leite}) = 0.80 = 80\%\]

3.3 Equação 3: Lift

3.3.1 Formulação Matemática

\[ \text{lift}(X \Rightarrow Y) = \frac{\text{supp}(X \cup Y)}{\text{supp}(X) \times \text{supp}(Y)} = \frac{\text{conf}(X \Rightarrow Y)}{\text{supp}(Y)} \]

Forma equivalente usando probabilidades: \[ \text{lift}(X \Rightarrow Y) = \frac{P(X \cap Y)}{P(X) \cdot P(Y)} \]

3.3.2 Significado e Interpretação

O lift indica a força da associação entre \(X\) e \(Y\), comparando a frequência observada com a esperada sob independência.

Interpretação prática: - Lift \(> 1\): correlação positiva (compram juntos mais que o esperado) - Lift \(= 1\): independência (sem associação) - Lift \(< 1\): correlação negativa (compram juntos menos que o esperado)

Exemplo: Se lift = 2.5, significa que comprar \(X\) torna 2.5 vezes mais provável comprar \(Y\).

3.4 Equação 4: Entropia de Shannon

3.4.1 Formulação Matemática

\[ H(X) = -\sum_{i=1}^{n} P(x_i) \log_2 P(x_i) = \mathbb{E}[-\log_2 P(X)] \]

Para distribuições contínuas: \[ H(X) = -\int_{-\infty}^{\infty} f(x) \log_2 f(x) \, dx \]

3.4.2 Significado e Interpretação

A entropia mede a quantidade de informação ou incerteza em um conjunto de dados. Quanto maior a entropia, maior a imprevisibilidade dos dados.

Interpretação prática: - Entropia máxima: distribuição uniforme (máxima incerteza) - Entropia mínima (0): distribuição determinística (certeza total) - Unidade: bits (quando usa log₂)

Aplicações em Data Science: - Seleção de atributos em árvores de decisão (ID3, C4.5) - Avaliação de modelos de linguagem - Compressão de dados - Teoria da informação

Exemplo: Para uma moeda justa: \[H = -\left(\frac{1}{2}\log_2\frac{1}{2} + \frac{1}{2}\log_2\frac{1}{2}\right) = 1 \text{ bit}\]

3.5 Equação 5: Índice de Gini

3.5.1 Formulação Matemática

\[ \text{Gini} = 1 - \sum_{i=1}^{n} p_i^2 \]

Forma alternativa (impureza): \[ \text{Gini}(D) = 1 - \sum_{i=1}^{C} \left(\frac{|D_i|}{|D|}\right)^2 \]

Onde \(C\) é o número de classes e \(D\) é o conjunto de dados.

3.5.2 Significado e Interpretação

O índice de Gini mede a impureza ou heterogeneidade de um conjunto. É amplamente usado em árvores de decisão (CART) para determinar a melhor divisão dos dados.

Interpretação prática: - Gini = 0: pureza máxima (todos os elementos da mesma classe) - Gini = 0.5: máxima impureza (distribuição uniforme entre 2 classes) - Gini \(\in [0, 1-\frac{1}{n}]\) para \(n\) classes

Comparação com Entropia:

Métrica Fórmula Uso Principal
Gini \(1 - \sum p_i^2\) CART, Random Forest
Entropia \(-\sum p_i \log p_i\) ID3, C4.5

Aplicações: - Árvores de decisão (critério de divisão) - Random Forests - Análise de desigualdade econômica - Classificação de imagens

Exemplo: Para um nó com 60% classe A e 40% classe B: \[\text{Gini} = 1 - (0.6^2 + 0.4^2) = 1 - 0.52 = 0.48\]


4 Figuras e Diagramas

4.1 Figura 1: CRISP-DM

4.1.1 Metodologia CRISP-DM

Ciclo de Vida CRISP-DM para Ciência de Dados
Ciclo de Vida CRISP-DM para Ciência de Dados

4.1.2 Descrição Detalhada

CRISP-DM (Cross-Industry Standard Process for Data Mining) é a metodologia mais utilizada em projetos de ciência de dados. O processo é iterativo e cíclico, composto por 6 fases:

4.1.2.1 1. Business Understanding (Entendimento do Negócio)

  • Definir objetivos do projeto
  • Avaliar situação atual
  • Determinar metas de data mining
  • Produzir plano de projeto

4.1.2.2 2. Data Understanding (Entendimento dos Dados)

  • Coletar dados iniciais
  • Descrever os dados
  • Explorar os dados
  • Verificar qualidade dos dados

4.1.2.3 3. Data Preparation (Preparação dos Dados)

  • Selecionar dados
  • Limpar dados
  • Construir dados
  • Integrar dados
  • Formatar dados

4.1.2.4 4. Modeling (Modelagem)

  • Selecionar técnicas de modelagem
  • Gerar design de teste
  • Construir modelo
  • Avaliar modelo

4.1.2.5 5. Evaluation (Avaliação)

  • Avaliar resultados
  • Revisar processo
  • Determinar próximos passos

4.1.2.6 6. Deployment (Implantação)

  • Planejar implantação
  • Planejar monitoramento e manutenção
  • Produzir relatório final
  • Revisar projeto

Vantagem: O CRISP-DM enfatiza que ciência de dados é um processo iterativo, onde insights de fases posteriores frequentemente levam a revisões de fases anteriores.

4.2 Figura 2: Machine Learning

4.2.1 Mapa Mental de Machine Learning

Algoritmos e Técnicas de Machine Learning
Algoritmos e Técnicas de Machine Learning

4.2.2 Taxonomia de Machine Learning

4.2.2.1 1. Aprendizado Supervisionado (Supervised Learning)

Objetivo: Aprender mapeamento de entrada → saída usando dados rotulados

Classificação: - Regressão Logística - SVM (Support Vector Machines) - Árvores de Decisão - Random Forest - Gradient Boosting (XGBoost, LightGBM) - Redes Neurais

Regressão: - Regressão Linear - Regressão Polinomial - Ridge/Lasso - SVR (Support Vector Regression)

4.2.2.2 2. Aprendizado Não Supervisionado (Unsupervised Learning)

Objetivo: Encontrar padrões em dados não rotulados

Clustering: - K-Means - DBSCAN - Hierarchical Clustering - Gaussian Mixture Models

Redução de Dimensionalidade: - PCA (Principal Component Analysis) - t-SNE - UMAP - Autoencoders

Regras de Associação: - Apriori (usado neste trabalho!) - FP-Growth - Eclat

4.2.2.3 3. Aprendizado por Reforço (Reinforcement Learning)

Objetivo: Aprender através de interação com ambiente

  • Q-Learning
  • Deep Q-Networks (DQN)
  • Policy Gradients
  • Actor-Critic

4.2.2.4 4. Ensemble Methods

Objetivo: Combinar múltiplos modelos para melhor performance

  • Bagging
  • Boosting
  • Stacking
  • Voting

Critérios de Seleção:

Critério Método Recomendado
Dados rotulados + Predição Supervisionado
Dados não rotulados + Padrões Não Supervisionado
Interação sequencial Reforço
Alta dimensionalidade Redução de Dimensionalidade
Grupos naturais Clustering

5 Referências Bibliográficas

5.1 Referências Acadêmicas

  1. Hahsler, M., Grün, B., & Hornik, K. (2005). arules – A Computational Environment for Mining Association Rules and Frequent Item Sets. Journal of Statistical Software, 14(15), 1-25.
    DOI: 10.18637/jss.v014.i15
    Relevância: Documentação fundamental do pacote arules utilizado neste trabalho.

  2. Wickham, H., & Grolemund, G. (2017). R for Data Science: Import, Tidy, Transform, Visualize, and Model Data. O’Reilly Media.
    ISBN: 978-1491910399
    Disponível em: r4ds.had.co.nz
    Relevância: Referência essencial para manipulação de dados com tidyverse.

  3. Han, J., Kamber, M., & Pei, J. (2011). Data Mining: Concepts and Techniques (3rd ed.). Morgan Kaufmann.
    ISBN: 978-0123814791
    Relevância: Livro clássico sobre mineração de dados, incluindo regras de associação e algoritmo Apriori.

  4. James, G., Witten, D., Hastie, T., & Tibshirani, R. (2021). An Introduction to Statistical Learning with Applications in R (2nd ed.). Springer.
    ISBN: 978-1071614174
    Disponível em: statlearning.com
    Relevância: Fundamentos estatísticos de machine learning aplicados em R.

  5. Provost, F., & Fawcett, T. (2013). Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking. O’Reilly Media.
    ISBN: 978-1449361327
    Relevância: Perspectiva de negócios aplicada à ciência de dados.


Conclusão

5.2 Síntese do Trabalho

Esse relatório demonstrou um fluxo completo de análise de dados utilizando R, abrangendo:

  • Carregamento e manipulação de dados transacionais

  • Análise exploratória com estatísticas descritivas e visualizações

  • Mineração de regras de associação com algoritmo Apriori

  • Tabelas interativas com funcionalidades avançadas

  • Fundamentação matemática com equações LaTeX