Criação do seu repositório do projeto RStudio da disciplina no GitHub ✅
Aula 5 ✅
Breve Revisão do IDE RStudio ✅
Introdução ao Sistema de Publicação Quarto ✅
Sessão Prática Guiada com Relatório 1 ✅
Execução dos comandos git essenciais ✅
Aula 6 ✅
Parte I ✅
O Relatório Junglivet e a Metodologia CRISP-DM ✅
Primeiro contato com a linguagem R por meio dos códigos do relatório ✅
Parte II ✅
Para alunos com projetos estruturados ✅
Atividade prática ✅
Para alunos com dificuldades técnicas ✅
Atendimento individualizado para estruturação de projetos ✅
Aula 7 ✅
Introdução ao sistema Quarto (continuação) ✅
Gerar relatório no formato pdf ✅
Gerar relatório no formato docx ✅
Introdução à Linguagem R (continuação) ✅
Conceitos: Variáveis e observações ✅
Estrutura tabular organizada de dados ✅
Tipos e classes de dados principais em R ✅
Estruturas de dados: vetores e data frames ✅
Aula 8 ✅
Início do estudo do pacote dplyr para manipulação de dados ✅
CRISP-DM: Fase 2 (Entendimento dos dados) e Fase 3 (Preparação dos dados) ✅
de um projeto de análise ou ciência de dados ✅
O que é o dplyr? ✅
A Filosofia Tidy Data (Dados Organizados) ✅
Dados Organizados (Tidy Data) ✅
Por que usar o dplyr? ✅
Fluxo de trabalho com dplyr ✅
Boas Práticas com dplyr ✅
Função dplyr::select() ✅
Função dplyr::filter() ✅
Aula 9 ✅
Solução dos exercícios práticos sobre as funções select e filter ✅
Função dplyr::mutate() ✅
Aula 10 ✅
Soluções dos exercícios práticos sobre a função mutate ✅
funções dplyr::group_by(), dplyr::summarize() e dplyr::arrange() ✅
Nesta Aula
Tópicos
Metodologia CRISP-DM e Pacote dplyr
Revisão sobre Dados Organizados (Tidy Data)
Exemplos de Dados Desorganizados Comuns em Administração
Introdução ao Pacote tidyr: Função pivot_longer
Informações sobre a Avaliação 1
Parte 1 - Informações Gerais
A avaliação ocorrerá na aula do dia 14 de maio (quarta-feira)
Formato: individual, com permição de colaboração entre colegas para esclarecimento de dúvidas
Recursos permitidos: todo o material da disciplina (disponível no site da disciplina) poderá ser consultado durante a avaliação
Ferramentas de IA: modelos de linguagem como ChatGPT podem ser utilizados para auxiliar em questões envolvendo código R, sistema Quarto e sintaxe específica
Processo de resolução/entrega:
Você receberá um template de arquivo Quarto (.qmd)
Deverá resolver as questões propostas dentro deste template
Ao finalizar, renderize o arquivo para gerar um documento PDF
O arquivo PDF gerado constituirá sua solução oficial e deverá ser enviado para avaliação
Informações sobre a Avaliação 1
Parte 2 - Tópicos da Avaliação
Aplicação das Fases 1-3 do CRISP-DM
Entendimento do negócio e dos dados
Entendimento dos dados: estrutura, variáveis e observações
Importação de arquivo de dados (.csv)
Uso do pacote here para definir caminhos relativos de arquivos de dados
Uso do pacote readr para importar arquivos .csv
Organização de Dados com tidyr
Identificação de estrutura desorganizada
Transformação para formato adequado com pivot_longer()
Manipulação de Dados com dplyr
Filtragem, seleção e ordenação de dados
Criação de novas variáveis e categorias
Agrupamento e cálculo de estatísticas
Construção de pipelines com o operador pipe (%>%)
Comunicação de Resultados
Apresentação de resultados com tabelas kableExtra
Uso do sistema Quarto para geração de relatórios de análise de dados no formato pdf ou html.
Informações sobre a Avaliação 1
Parte 3 - Dicas
Revise e estude os relatórios: Eles contém exemplos de todos os tópicos que serão abordados
Revise os principais slides das aulas
Entenda o significado das funções: Mais importante que decorar sintaxe é entender quando e por que usar cada função
Use LLMs estrategicamente: Para ajudar com sintaxe R, para entender funções e possíveis erros, não para resolver problemas conceituais
Leia atentamente: Muitos erros vêm de uma leitura superficial e apressada das questões
Arquivo para esta Aula
Instruções
Abra o RStudio e o seu Projeto da Disciplina
Crie a subpasta 05-relatorio dentro da pasta relatorios.
Acesse o site da disciplina e baixe o arquivo 05-relatorio.zip
Descompacte o arquivo, copie/recorte o arquivo 05-relatorio.qmd e cole dentro da subpasta 05-relatorio.
Diretrizes para Aulas Mais Produtivas
🔊 Mantenha conversas em volume baixo
⌨️ Código com método:
95% dos erros são evitáveis com:
Atenção na digitação
Respeitar a sequência lógica de etapas
Revisão antes de pedir ajuda
🤝 Inteligência colaborativa:
Compartilhe conhecimento
Resolva questões técnicas simples com colegas próximos
Reserve ao professor as dúvidas conceituais complexas
💪 Capacidade de Resolver Problemas
Cada erro resolvido é uma evolução da sua habilidade analítica
Metodologia CRISP-DM e Pacote dplyr
Metodologia CRISP-DM - Fases 2 e 3
Figura 1: Fase 2 (Compreensão dos Dados) e Fase 3 (Preparação dos dados) consomem entre 60-80% do tempo de um projeto de análise ou ciência de dados
O pacote dplyr fornece funções críticas para a Fase 3 da CRISP-DM, permitindo transformar dados brutos organizados em um formato analítico de qualidade:
filter(): permite filtrar apenas as observações (linhas) relevantes para análise, por exemplo, períodos específicos de tempo.
select(): permite selecionar apenas as variáveis (colunas) relevantes para um determinado problema.
mutate(): permite criar novas variáveis usando as existentes, por exemplo, KPIs ou categorias, que agregam valor analítico.
group_by() + summarize(): perimitem transformar dados brutos em resumos estatísticos por categorias.
arrange(): permite ordenar as observações (linhas) de uma data frame com base nos valores de uma ou mais variáveis (colunas), gerando uma sequência lógica que facilita a interpretação humana.
Unidas pelo operador pipe (%>%), estas funções criam um pipeline (fluxo de operações) limpo e compreensível
Um Pipeline Completo com dplyr
# inicia com a df (gapminder) e salva o resultado finalrelatorio_expectativa <- gapminder %>%# Filtra apenas os dados de 2007filter(year ==2007) %>%# Agrupa por continentegroup_by(continent) %>%# Calcula estatísticas por continentesummarize(expectativa_media =mean(lifeExp),expectativa_minima =min(lifeExp),expectativa_maxima =max(lifeExp), ) %>%# Ordena do maior para o menorarrange(desc(expectativa_media))# Visualiza o resultado finalrelatorio_expectativa
# A tibble: 5 × 4
continent expectativa_media expectativa_minima expectativa_maxima
<fct> <dbl> <dbl> <dbl>
1 Oceania 80.7 80.2 81.2
2 Europe 77.6 71.8 81.8
3 Americas 73.6 60.9 80.7
4 Asia 70.7 43.8 82.6
5 Africa 54.8 39.6 76.4
Tabelas Profissionais
Limitações das Data Frames Brutas em Relatórios Profissionais
As data frames produzidas pelos pipelines do dplyr são excelentes para análise, mas não são adequadas para apresentação em relatórios profissionais.
A linguagem R oferece várias soluções para esta limitação:
O pacote kableExtra (que veremos a seguir) para relatórios HTML e PDF
O pacote gt para tabelas altamente personalizáveis
Estes pacotes permitem transformar dados analíticos em tabelas com qualidade profissional, incluindo:
título, nomes das colunas e notas formatadas
destaque visual para informações importantes
personalização de cores, bordas e estilos de texto
entre outras.
O Pacote kableExtra
Transformando tabelas básicas em apresentações profissionais
O pacote kableExtra estende as funcionalidades da função básica kable do R, permitindo a criação de tabelas com qualidade de publicação.
Foi desenvolvido para trabalhar com tabelas em documentos HTML e PDF (LaTeX).
Permite formatar tabelas para relatórios profissionais, artigos acadêmicos e apresentações.
É extremamente útil na Fase 6 do CRISP-DM (Implantação), quando precisamos comunicar resultados de forma clara e atrativa.
Sintaxe Básica do kableExtra
Fluxo básico com kableExtra
# inicie com uma data frametabela_formatada <- dados %>%# Transforme a data frame em tabela básicakable(caption ="Título da Tabela",col.names =c("Nome1", "Nome2"), # Renomear colunasdigits =2, # Casas decimaisformat.args =list(decimal.mark =",", big.mark =".") # Define vírgula como separador decimal e ponto como separador de milhares ) %>%# Adicionar estiloskable_styling(bootstrap_options =c("striped", "hover"),full_width =FALSE,position ="center" )
kable(): Converte a data frame em tabela básica
kable_styling(): Aplica estilos visuais à tabela
Outros elementos podem ser adicionados em sequência com o pipe (%>%)
Integrando kableExtra com dplyr
Pipeline para relatórios profissionais
Em projetos de análise de dados completos, o fluxo geralmente é:
Preparar dados com tidyr e dplyr
Analisar dados com dplyr (filter, select, group_by, etc.)
Visualizar resultados com ggplot2 (gráficos) e kableExtra (tabelas)
Um pipeline completo pode é similar com:
# Pipeline completo de análise até apresentaçãodados_brutos %>%# Fase de limpeza e preparaçãofilter(...) %>%select(...) %>%mutate(...) %>%# Fase de análise e agregaçãogroup_by(...) %>%summarize(...) %>%# Fase de apresentação em tabelakable(...) %>%kable_styling(...) %>%column_spec(...)
Este fluxo integrado representa as fases 3, 4 e 6 do CRISP-DM.
Resumo
Pacote kableExtra
Para que serve: Transformar tabelas de dados simples em tabelas profissionais para relatórios, apresentações e publicações.
Sintaxe básica:
dados %>%kable(...) %>%kable_styling(...) %>% ... outras personalizações ...
Funções principais:
kable(): Converte data frame em tabela base
kable_styling(): Aplica estilos gerais à tabela
column_spec() e row_spec(): Personalizações específicas
footnote(): Adiciona notas de rodapé
Integrações estratégicas:
Ideal no final de pipelines dplyr para apresentar resultados
Complementar aos gráficos do ggplot2 em relatórios
Benefícios em Administração:
Eleva a qualidade visual de relatórios gerenciais
Facilita a comunicação de insights de dados para gestores
Permite destacar KPIs e métricas críticas para tomada de decisão
Tabela com o Pacote KableExtra
Tabela 1: Expectativa de Vida (em anos) por Continente (2007)
# inicia com a df contendo o resultado do pipelinerelatorio_expectativa %>%# Converte a df em uma tabela kable (tabela básica HTML/LaTeX)kable(# Renomeia as colunas para portuguêscol.names =c("Continente", "Expectativa Média", "Expectativa Mínima", "Expectativa Máxima" ),# Formata os números com 1 casa decimaldigits =1,# vírgula como separador decimalformat.args =list(decimal.mark =",") ) %>%# Adiciona estilo à tabela para melhorar o visualkable_classic(# tamanho da fontefont_size =25,# Impede que a tabela ocupe toda a largura disponívelfull_width =FALSE,# # Centraliza a tabelaposition ="center" ) %>%# Aplica formatação específica à coluna da expectativa médiacolumn_spec(# Aplica a formatação à segunda coluna (Expectativa Média)2,# Coloca o texto em negrito para melhor destaquebold =TRUE,# Define a cor dos números como brancocolor ="white",# Aplica um gradiente de cores ao fundo das célulasbackground =spec_color(# A expectativa_media determinar a intensidade das cores relatorio_expectativa$expectativa_media,# início do gradiente com intensidade altabegin =0.9,# fim do gradiente com intensidade baixaend =0.1,# paleta de cores "viridis" (azul-verde-amarelo)option ="viridis",# 1 = valores mais altos recebem cores mais intensasdirection =1 ) )
Tabela: Código sem Comentários
Tabela 2: Expectativa de Vida (em anos) por Continente (2007)
Recomendações práticas para organizar dados em planilhas.
Sem células vazias: use hífen (-) e no caso de usar R, use NA
Crie um dicionário dos dados
NUNCA faça cálculos na planilha dos dados originais/brutos
NUNCA use unidades de medida (R$), cor ou realce como um dado.
R$ 50.000,00 😱
50000 😃
10 % 😱
O.1 😃
Faça backups
Use validação dos dados para evitar erros
Salve os dados em arquivos de texto simples (.csv):
todas as linguagens (R/Python) e softwares de análises de dados reconhecem facilmente esse formato.
Dados/Planilhas Desorganizados
Por que a absoluta maioria dos arquivos de dados são desorganizados?
Por que a maioria das pessoas que trabalham na área de negócios não está familiarizada com os princípios da organização de dados para análise e utilizam planilhas eletrônicas para trabalhar com dados.
Planilhas de dados são frequentemente organizadas pensando em apresentar os dados ou para tornar a entrada de dados mais simples, não em um formato adequado para armazenamento e análise.
Isso significa que, para a maioria das análises reais, cientistas e analistas de dados dispendem muito tempo e esforço organizando e preparando dados elaborados por terceiros.
A primeira etapa é sempre descobrir quais são as observações e as variáveis associadas a cada observação.
Organizando Dados
Pacote tidyr
Na próxima seção, vamos aprender sobre como o pacote tidyr do tidyverse pode ser usado para tornar alguns tipos de dados desorganizados em dados organizados para análise.
Introdução ao Pacote tidyr
O que é o pacote tidyr?
O pacote tidyr no ecossistema tidyverse
O tidyr é um pacote do tidyverse para organizar dados desorganizados
Seu nome vem de “tidy” (organizado) + “r” (R)
Foi criado para facilitar a transformação de dados desorganizados em dados organizados (tidy data) para análise
É muito útil para a preparação de dados na fase 3 do CRISP-DM (Preparação dos Dados)
Permite que dados em formatos comuns de planilhas e relatórios sejam transformados em formatos adequados para análise e visualização
Pacote tidyr e CRISP-DM
Pacote tidyr e a Fase 3 da CRISP-DM (Preparação de Dados)
Nas aulas anteriores, aprendemos a usar o pacote dplyr para manipular dados que já estavam no formato correto (tidy data)
Na prática, muitos dados corporativos estão em formatos desorganizados:
Relatórios trimestrais com várias colunas para cada período
Planilhas otimizadas para visualização humana, não para análise
Dados exportados de sistemas legados ou ERP
O pacote tidyr permite transformar esses dados desorganizados em dados organizados, essenciais para as fases seguintes do CRISP-DM:
Fase 3: Preparação dos Dados ← estamos aqui!
Função principal do tidyr
Função pivot_longer
pivot_longer(): Converte dados do formato amplo (onde valores de uma ou mais variáveis são espalhadas por colunas) em um formato longo (onde cada variável está em uma única coluna).
Ou seja, é muito útil para organizar dados para análise
Ex: Transformar colunas de trimestres (T1, T2, T3, T4) em uma única coluna “trimestre”
Iremos estudar somente a função pivot_longer(), porque o foco deste módulo é a preparação de dados para análise.
Mas o pacote tidyr oferece diversas outras funções úteis para a organização de dados para análise
Quando usar o tidyr?
Situações comuns em Administração
Quando você tem planilhas financeiras com colunas para diferentes períodos (meses, trimestres, anos)
Quando você recebe planilhas Excel organizadas para visualização humana, mas não para análise de dados.
Quando precisa combinar dados de diferentes fontes que estão em formatos incompatíveis.
Quando precisa preparar dados para visualizações com tabelas ou gráficos…
Fluxo de Trabalho
Figura 3: Fluxo para organizar dados para anális.
A Função tidyr::pivot_longer
Objetivos de Aprendizagem
Ao final desta seção, você será capaz de:
Aplicar a função pivot_longer() com seus parâmetros essenciais: cols, names_to e values_to
Organizar/Transformar dados complexos extraindo múltiplas informações de colunas
Integrar pivot_longer() em pipelines de análise com dplyr
Implementar soluções para casos reais de análise de dados administrativos
O que é a função pivot_longer()?
Transformando dados de formato amplo para longo
A função pivot_longer() converte dados do formato amplo (wide) para o formato longo (long)
É muito útil quando as colunas contêm valores em vez de variáveis
Geralmente, é o primeiro passo para transformar planilhas eletrônicas em dados organizados para análise (tidy data)
valores_de_uma_nova_coluna: as colunas que contêm valores de uma variável e serão transformadas.
nome_nova_coluna: nome da nova coluna/variável que conterá os nomes das colunas originais.
nome_outra_nova_coluna: nome da nova coluna/variável que conterá os valores originais.
Função pivot_longer
Descrição
Característica
pivot_longer()
Transforma
Colunas → Linhas
Formato resultante
Longo (mais linhas)
Quando usar
Para análise e visualização
Exemplo típico
Transformar colunas de anos em uma variável “ano”
A Função tribble()
Descrição
A função tribble() (abreviação de “transposed tibble”) é uma forma elegante de criar pequenas tibbles/data frames para exemplos ou testes:
# Criando uma data frame com tribble() - "tibble transposta"produtos <-tribble(~codigo, ~produto, ~preco, # Nomes das colunas começam com ~"A123", "Notebook", 3500, # Cada linha é um registro"B456", "Smartphone", 1800, # Os valores são separados por vírgulas"C789", "Monitor", 950# A formatação facilita a leitura)# Visualizando a data frame criadaprodutos
Layout Visual: Cada linha do código corresponde a uma linha da data frame, tornando o código mais legível
Especificação direta: Os nomes das colunas são definidos com ~ (til)
Flexibilidade de tipos: Cada coluna pode conter diferentes tipos de dados
Ideal para exemplos: Perfeita para criar pequenas data frames para demonstrações ou testes.
Esta função faz parte do pacote tibble, que é carregado automaticamente quando você carrega o tidyverse.
Exemplo Básico de pivot_longer()
Dados de receita trimestral (formato amplo/wide)
# Criando a data frame de exemploreceitas <-tribble(~produto, ~T1, ~T2, ~T3, ~T4,"Produto A", 50000, 55000, 60000, 65000,"Produto B", 30000, 32000, 35000, 37000,"Produto C", 20000, 22000, 25000, 27000)# Visualizando a data frame original (formato amplo/wide)receitas
# A tibble: 3 × 5
produto T1 T2 T3 T4
<chr> <dbl> <dbl> <dbl> <dbl>
1 Produto A 50000 55000 60000 65000
2 Produto B 30000 32000 35000 37000
3 Produto C 20000 22000 25000 27000
Este formato é para apresentação, não para armazenamento e análise.
Exemplo Básico de pivot_longer()
Transformando para o formato longo
# Transformando para o formato longo usando pivot_longerreceitas_longas <- receitas %>%pivot_longer(cols =c("T1", "T2", "T3", "T4"), # colunas que serão valores da nova colunanames_to ="trimestre", # nome da nova colunavalues_to ="receita"# nome de outra nova coluna )# Visualizando o resultado (formato longo/long)receitas_longas
# A tibble: 12 × 3
produto trimestre receita
<chr> <chr> <dbl>
1 Produto A T1 50000
2 Produto A T2 55000
3 Produto A T3 60000
4 Produto A T4 65000
5 Produto B T1 30000
6 Produto B T2 32000
7 Produto B T3 35000
8 Produto B T4 37000
9 Produto C T1 20000
10 Produto C T2 22000
11 Produto C T3 25000
12 Produto C T4 27000
Agora os dados estão organizados:
Cada linha é uma observação (um produto em um trimestre)
Cada coluna é uma variável (produto, trimestre, receita)
Cada célula contém um único valor
Exemplo Intermediário: Várias Colunas
Dados de desempenho financeiro
# Criando a data frame com múltiplas métricas por trimestredesempenho <-tribble(~empresa, ~receita_T1, ~receita_T2, ~despesa_T1, ~despesa_T2,"Empresa A", 150000, 175000, 120000, 130000,"Empresa B", 250000, 270000, 200000, 220000,"Empresa C", 100000, 115000, 80000, 95000)# Visualizando a data frame originaldesempenho
# A tibble: 3 × 5
empresa receita_T1 receita_T2 despesa_T1 despesa_T2
<chr> <dbl> <dbl> <dbl> <dbl>
1 Empresa A 150000 175000 120000 130000
2 Empresa B 250000 270000 200000 220000
3 Empresa C 100000 115000 80000 95000
Este formato é ainda mais desorganizado, pois mistura três variáveis (receita, despesa e trimestre) nos nomes das colunas.
Exemplo Intermediário: Várias Colunas
Transformando para o formato longo com dois níveis
# Transformando para o formato longo usando pivot_longer com nomes separadosdesempenho_longo <- desempenho %>%pivot_longer(cols =-empresa, # todas as colunas exceto "empresa"names_to =c("indicador", "trimestre"), # nomes das duas novas colunasnames_sep ="_", # separador nos nomes das colunasvalues_to ="valor"# nome de nova coluna para receber os valores )# Visualizando o resultadodesempenho_longo
# A tibble: 12 × 4
empresa indicador trimestre valor
<chr> <chr> <chr> <dbl>
1 Empresa A receita T1 150000
2 Empresa A receita T2 175000
3 Empresa A despesa T1 120000
4 Empresa A despesa T2 130000
5 Empresa B receita T1 250000
6 Empresa B receita T2 270000
7 Empresa B despesa T1 200000
8 Empresa B despesa T2 220000
9 Empresa C receita T1 100000
10 Empresa C receita T2 115000
11 Empresa C despesa T1 80000
12 Empresa C despesa T2 95000
Observação importante:
Os nomes das colunas originais (receita_T1, receita_T2, etc.) são divididos pelo separador “_” em exatamente duas partes.
A primeira parte (“receita” ou “despesa”) vai para a coluna “indicador” e a segunda parte (“T1” ou “T2”) vai para a coluna “trimestre”.
Este é um padrão comum em dados financeiros: quando os nomes de colunas seguem um formato consistente com separadores, podemos extrair as informações contidas neles para criar novas variáveis.
Exemplo Avançado
Indicadores financeiros por trimestre
# Exemplo mais gerenciável para slidesreceita_trimestral <-tribble(~empresa, ~`2022_T1_Receita`, ~`2022_T2_Receita`, ~`2023_T1_Receita`, ~`2023_T2_Receita`,"ABC Ltda", 1200000, 1350000, 1500000, 1620000,"XYZ S.A.", 2500000, 2700000, 2900000, 3100000)# Visualizando a data frame originalreceita_trimestral
Temos informações de ano e trimestre nos nomes das colunas
Exemplo Avançado
Organizando dados financeiros complexos
# Transformando para o formato longo usando pivot_longer com três níveisreceita_trimestral_organizada <- receita_trimestral %>%pivot_longer(cols =-empresa, # todas as colunas exceto "empresa"names_to =c("ano", "trimestre"), # nomes de duas novas colunasnames_sep ="_", # separador nos nomes das colunasvalues_to ="receita"# nome de nova coluna para receber os valores da receita )# Visualizando o resultadoreceita_trimestral_organizada
Finalidade: Transformar dados do formato amplo (wide) para o formato longo (long), organizando-os conforme o princípio tidy data
Sintaxe básica:
dados %>%pivot_longer(cols = colunas_a_transformar,names_to ="nome_nova_coluna_para_nomes",values_to ="nome_nova_coluna_para_valores" )
Parâmetros principais:
cols: Quais colunas serão transformadas em pares nome-valor
names_to: Nome da nova coluna que receberá os nomes das colunas originais
values_to: Nome da nova coluna que receberá os valores
4. Caso avançado:
Quando os nomes de colunas contêm múltiplas informações, use:
names_to = c("variavel1", "variavel2", ...)
names_sep = "_" (ou outro separador presente nos nomes)
5. Benefícios:
Padroniza o formato de dados conforme princípios da ciência de dados
Facilita análises com dplyr (group_by, summarize, etc.)
Prepara dados para visualizações eficientes
Sua Vez
Organizando dados na prática
A seguir, vocês aplicarão os conceitos apresentados em exercícios que simulam situações reais de análise de dados
Tente resolver os exercícios usando o que vimos sobre:
Identificação de dados desorganizados
Aplicação da função pivot_longer()
Criação de estruturas organizadas para análise
Lembre-se: No mundo real do trabalho, a capacidade de reorganizar dados rapidamente para extrair insights é uma habilidade crítica para administradores
Exercícios com pivot_longer()
Nível Básico
Você trabalha no departamento de vendas de uma rede de lojas e recebeu os dados trimestrais das vendas de cada loja em 2024. Os dados estão no formato “amplo” conforme abaixo:
# A tibble: 4 × 5
loja T1 T2 T3 T4
<chr> <dbl> <dbl> <dbl> <dbl>
1 Shopping Central 185000 162000 198000 230000
2 Centro Comercial 145000 152000 138000 176000
3 Mall Express 92000 98000 103000 125000
4 Galeria Norte 78000 83000 89000 110000
Transforme estes dados para o formato “longo” (tidy), criando as variáveis “trimestre” e “vendas”.
Exercícios com pivot_longer()
Nível Intermediário 1
Você é analista financeiro e recebeu dados sobre os investimentos da empresa em marketing digital por plataforma nos últimos 3 meses. Os dados estão no seguinte formato:
# A tibble: 4 × 4
plataforma Jan Fev Mar
<chr> <dbl> <dbl> <dbl>
1 Google Ads 12500 13200 15000
2 Facebook 8700 9300 10500
3 Instagram 7200 8500 9800
4 LinkedIn 5400 5800 6500
Seu gestor pediu para você transformar estes dados em um formato que permita:
Realizar análises por plataforma
Comparar investimentos mês a mês
Identificar a plataforma com maior crescimento
Transforme estes dados para o formato adequado para estas análises.
Exercícios com pivot_longer()
Nível Intermediário 2
A diretoria solicitou uma análise detalhada de despesas e receitas mensais por departamento no primeiro semestre de 2024. Os dados foram enviados no seguinte formato: