Boas-vindas ao curso R: Utilizando o Tidyverse para diferentes formatos de dados! Meu nome é Beatriz Magalhães, e irei te acompanhar ao longo desta jornada.
Audiodescrição: Beatriz se descreve como uma mulher branca, de cabelo castanho-escuro longo e ondulado, e olhos castanho-claros. Ela veste uma camisa verde, e está sentada em frente a uma parede clara iluminada em azul. Ao fundo, há um armário cinza, uma estante preta, e um teclado musical à direita da instrutora, logo abaixo de uma janela cinza.
Este curso é destinado a pessoas que desejam explorar os pacotes e as funções do Tidyverse para diferentes tipos de dados.
Ao longo do curso, aprenderemos a importar arquivos de formatos diferentes, manipular, filtrar e tratar dados, criar métricas visuais e, por fim, importar os relatórios e atualizar o DataFrame, utilizando funções e pacotes do Tidyverse.
Iremos trabalhar no projeto da Hermex Log, que nos convidou para lidar com o DataFrame de pedidos. O objetivo é extrair algumas métricas, criar visuais e modificar alguns aspectos do DataFrame. Para isso, usaremos os pacotes do Tidyverse e a linguagem R.
Para melhor aproveitamento do curso, é importante ter conhecimentos prévios sobre a linguagem R. Existem cursos e conteúdos na plataforma da Alura que fornecem essa base, permitindo um acompanhamento mais eficiente e tranquilo do curso.
É fundamental executar todas as atividades e realizar os códigos, para auxiliar na fixação do conteúdo. Não hesite em nos contatar pela comunidade no Discord ou pelo fórum.
Te esperamos no próximo vídeo para dar início ao nosso projeto!
A Hermex Log é uma empresa de logística que nos contratou para entender melhor sua base de dados de pedidos. Ela deseja extrair algumas informações dessa base para obter insights que ajudarão a impulsionar os negócios da empresa.
Para isso, vamos usar a linguagem R e também os pacotes de código aberto do Tidyverse, que nos auxiliarão a trabalhar com os dados usando essa linguagem.
O primeiro passo é entender qual ferramenta vamos usar para ler as informações, pois nosso primeiro desafio é integrar a base de dados de pedidos da Hermex Log, disponibilizada em formato CSV, com uma ferramenta que permita programar usando a linguagem R e os pacotes do Tidyverse.
Para isso, usaremos o Posit Cloud, uma ferramenta disponível tanto na versão paga quanto na gratuita. Com ela, temos maior liberdade para trabalhar sem um processo de instalação.
No site do Posit Cloud, temos a opção "GET STARTED", para pessoas que ainda não possuem uma conta. Criar uma conta é muito simples, basta utilizar um e-mail e uma senha. Além disso, temos a opção "ALREADY A USER? LOG IN", para fazer login caso já exista uma conta registrada.
Caso você já tenha uma conta, basta fazer login com seu e-mail e senha.
Na interface do Posit Cloud, no canto superior direito, temos a opção "New Project". Vamos selecioná-la para definir com qual linguagem e tipo de projeto vamos trabalhar. Nesse caso, clicaremos em "New RStudio Project", para trabalhar com a linguagem R.
Ao fazer isso, será aberta uma nova aba para o projeto. Trabalharemos com o quarto notebook, devido à facilidade da interface, que nos permite escrever textos e fazer códigos no mesmo notebook, sendo compatível com o VS Code.
Para criar um novo documento, clicamos no ícone de +
no canto superior esquerdo, e selecionamos a opção "Quarto Document…". Feito isso, precisamos definir um nome para o documento, que neste caso, será "Aula 1". Por fim, basta clicar em "Create" na parte inferior.
Com isso, temos um quarto notebook aberto.
Na interface do Posit Cloud, temos algumas opções:
- No canto inferior esquerdo, temos a aba "Console", onde podemos visualizar todos os códigos que foram executados, se tudo funcionou corretamente ou se houve algum erro, e assim em diante;
- Na lateral direita, temos a aba "Files", contendo os arquivos onde salvamos os notebooks ou que faremos upload. Usaremos esse espaço para trazer a base de dados de pedidos da Hermex Log;
- Na parte central da tela, temos o quarto propriamente dito, onde podemos escrever nossos textos e códigos para criar o relatório.
Nosso desafio será integrar a base de dados de pedidos da Hermex Log, que está em formato CSV, à plataforma do Posit Cloud. Para isso, trabalharemos com os pacotes do Tidyverse.
O Tidyverse é um conjunto de pacotes de código aberto muito interessantes para trabalhar com dados. Existem vários pacotes e funções que trabalharão bem com os DataFrames, para fazer manipulação de dados, filtragem de informações, visualizações, entre outros.
Os primeiros passos serão importar e instalar a biblioteca, bem como os pacotes necessários para trabalhar com nossa base de dados. Começaremos instalando a biblioteca do Tidyverse.
Para escrever nosso primeiro código, na parte superior direita do quarto, clicamos sobre o ícone verde "Insert a new code chunk", para abrir uma célula de código.
Normalmente, mesclamos textos com células de código, para explicar logo acima o que o código abaixo faz. Isso será útil para consultas posteriores, facilitando o acompanhamento do curso.
Uma vez adicionada a célula, digitaremos o seguinte comando:
install.packages("tidyverse")
Em seguida, clicamos em "Run" à direita da célula para instalar a biblioteca e seus pacotes.
O processo pode levar certo tempo e, ao final, a ferramenta pode exibir uma mensagem de conflito entre algumas funções, pois certos pacotes do Tidyverse possuem as mesmas funções que outros pacotes. Portanto, surge como uma mensagem de conflito, mas conseguiremos usar a ferramenta normalmente apesar disso.
Concluída a instalação da biblioteca, o segundo passo será carregar os pacotes.
É possível carregá-los individualmente, caso o objetivo seja usar um pacote específico, por exemplo. Não precisamos sempre realizar o processo de carregar todos os pacotes, mas como nosso projeto será baseado no Tidyverse, vamos carregar a biblioteca completa.
Para carregar os pacotes, digitaremos o seguinte código em uma nova célula:
library(tidyverse)
Ao final, basta clicar em "Run" para executar a célula.
Com todos os pacotes disponíveis, precisamos integrar o DataFrame de pedidos à plataforma do Posit Cloud. Primeiramente, vamos até a aba "Files" no canto inferior direito, onde temos a opção "Upload files to server". Ao clicar nela, iremos escolher um arquivo: oPedidos_Hermex_Log.csv
.
O arquivo será disponibilizado nesta aula, para que você possa salvar no seu ambiente.
Feito isso, teremos o arquivo disponível no Posit Cloud para ser importado. Para fazer a leitura do arquivo CSV na plataforma, usaremos a primeira função do pacote {readr}
, chamada read_csv()
.
O pacote {readr}
lê vários tipos de documentos de texto, como .txt
, por exemplo, entre outros formatos, o que é muito interessante para trabalharmos com diferentes documentos.
Para importar o arquivo de pedidos, vamos abrir uma nova célula de código e trazer o arquivo Pedidos_Hermex_Log.csv
em formato de DataFrame. Dessa forma, teremos acesso às informações de pedidos em formato de tabela, permitindo uma melhor análise dos dados.
Dito isso, vamos declarar a variável pedidos
e atribuir a ela (comando <-
) o valor do documento que integramos anteriormente. Sendo assim, usaremos a função read_csv()
, passando entre parênteses e aspas duplas o nome do documento, ou seja, Pedidos_Hermex_Log.csv
.
Por fim, após o nome do arquivo, vamos definir o atributo show_col_types
igual a FALSE
.
pedidos <- read_csv("Pedidos_Hermex_Log.csv", show_col_types = FALSE)
Dessa forma, pedimos para atribuir à variável pedidos
o DataFrame Pedidos_Hermex_Log.csv
. Além disso, pedimos para exibir o resultado no formato de colunas, como uma tabela.
Ao executar o código, não recebemos o resultado da tabela, mas a execução ocorre com sucesso. A partir desse ponto, precisamos fazer a leitura do documento.
Para isso, em uma nova célula, basta utilizar a função head()
recebendo a variável pedidos
.
head(pedidos)
Após executar a célula, é exibida a tabela que esperávamos:
PedidoID | ClienteID | DataPedido | DataEntrega | Status | ValorTotal | TransportadorID | Regiao | EnderecoPedido |
---|---|---|---|---|---|---|---|---|
101 | 14 | 2024-07-01 18:56:18 | 2024-07-14 08:00:17 | Entregue | 1895.15 | 2 | Sudeste | Travessa das Palmeiras, 789, Savassi, Belo Horizonte, 30100-000 |
102 | 12 | 2024-07-02 20:57:26 | 2024-07-12 11:46:21 | Entregue | 2827.16 | 2 | Sudeste | Avenida Paulista, 456, Bela Vista, São Paulo, 01300-000 |
103 | 3 | 2024-07-03 17:18:26 | 2024-07-22 08:57:49 | Entregue | 2576.52 | 2 | Norte | Rua das Flores, 123, Centro, Manaus, 69000-000 |
104 | 7 | 2024-07-04 08:11:38 | 2024-07-21 05:59:59 | Entregue | 2820.98 | 2 | Sul | Travessa das Hortênsias, 789, Centro, Florianópolis, 88000-000 |
105 | 20 | 2024-07-05 10:50:35 | 2024-07-19 02:15:03 | Entregue | 2693.72 | 2 | Sudeste | Travessa das Palmeiras, 789, Savassi, Belo Horizonte, 30100-000 |
106 | 9 | 2024-07-06 07:01:49 | 2024-07-25 14:40:41 | Entregue | 2405.18 | 2 | Norte | Rua das Flores, 123, Centro, Manaus, 69000-000 |
Nessa tabela, estão todas as colunas da base de dados pedidos da Hermex Log. São elas:
PedidoID
;ClienteID
;DataPedido
;DataEntrega
;Status
;ValorTotal
;TransportadorID
;Regiao
;- E
EnderecoPedido
.
Concluímos a primeira etapa com sucesso. Conseguimos trazer a base de dados de pedidos e transformá-la em um DataFrame que nos permitirá manipular os dados.
Na próxima etapa, começaremos a fazer algumas manipulações dos dados para trazer informações que a Hermex Log nos solicitou. Faremos isso no próximo vídeo!
Conseguimos importar o DataFrame de pedidos da Hermex Log, e agora há uma nova necessidade: visualizar apenas algumas colunas específicas do DataFrame para uma conferência rápida.
Nesse caso, o objetivo é visualizar apenas a coluna de ID dos pedidos (PedidoID
) e a de status dos pedidos (Status
). Como podemos manipular os dados para filtrar as colunas?
PedidoID
, Status
e DataPedido
Para isso, utilizaremos a função select()
do pacote dplyr
, e poderemos selecionar apenas as colunas que desejamos no nosso código. Neste vídeo, entenderemos melhor como isso funciona.
PedidoID
e Status
Após abrir nova célula de código, em "Insert a new code chunk" no canto superior direito, chamaremos o DataFrame pedidos
usando o pipe (%>%
), seguido da função select()
abaixo.
Entre os parênteses da função, colocaremos as colunas que queremos filtrar:
- A coluna
PedidoID
;- E a coluna
Status
.
pedidos %>%
select(PedidoID, Status)
Ao executar este código, teremos acesso apenas a essas duas colunas, o que será muito útil para a Hermex Log realizar uma conferência rápida do status dos pedidos em geral.
Visualização dos cinco primeiros registros da tabela. Para visualizá-la na íntegra, execute a célula de código na sua máquina.
PedidoID | Status |
---|---|
101 | Entregue |
102 | Entregue |
103 | Entregue |
104 | Entregue |
105 | Entregue |
… | … |
Há várias páginas, pois é um DataFrame longo que percorre todos os dados.
Existe outra informação que a Hermex Log quer filtrar: apenas as colunas que começam com o termo "Data", pois são as colunas com a data em que o pedido foi feito e a data em que foi entregue.
A Hermex Log quer ter acesso a essa diferença de dias, para verificar se os pedidos estão demorando muito para chegar ao destino, ou se estão sendo entregues em tempo hábil.
Para selecionar apenas essas duas colunas, utilizaremos a função select()
junto à função starts_with()
, que determinará o termo inicial do nome da coluna que desejamos trazer.
Primeiro, vamos chamar novamente o DataFrame pedidos
, e na linha abaixo, a função select()
. Entre parênteses, colocaremos a função starts_with()
. Na função starts_with()
, passaremos entre aspas duplas o termo que queremos que inicie o nome da coluna, nesse caso, o termo "Data".
pedidos %>%
select(starts_with("Data"))
Ao executar este código, teremos acesso apenas às colunas que começam com "Data", como a coluna DataPedido
e a coluna DataEntrega
.
Visualização dos cinco primeiros registros da tabela. Para visualizá-la na íntegra, execute a célula de código na sua máquina.
DataPedido | DataEntrega |
---|---|
2024-07-01 18:56:18 | 2024-07-14 08:00:17 |
2024-07-02 20:57:26 | 2024-07-12 11:46:21 |
2024-07-03 17:18:26 | 2024-07-22 08:57:49 |
2024-07-04 08:11:38 | 2024-07-21 05:59:59 |
2024-07-05 10:50:35 | 2024-07-19 02:15:03 |
… | … |
Existem outras coisas interessantes que podemos fazer com a função
select()
, mas deixaremos isso em uma atividade para você explorar.
Agora, a Hermex Log tem um novo desafio: filtrar alguns pedidos específicos. Como filtrar apenas pedidos, e não colunas? Descobriremos isso no próximo vídeo!
O curso R: utilizando o Tidyverse para diferentes formatos de dados possui 101 minutos de vídeos, em um total de 48 atividades. Gostou? Conheça nossos outros cursos de Data Science em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.