Alura > Cursos de Data Science > Cursos de Data Science > Conteúdos de Data Science > Primeiras aulas do curso R: utilizando o Tidyverse para diferentes formatos de dados

R: utilizando o Tidyverse para diferentes formatos de dados

Iniciando o projeto - Apresentação

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.

Para quem é este curso?

Este curso é destinado a pessoas que desejam explorar os pacotes e as funções do Tidyverse para diferentes tipos de dados.

O que vamos aprender?

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.

Quais são os requisitos?

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.

Conclusão

É 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!

Iniciando o projeto - Iniciando o projeto e importando os dados

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.

Iniciando o projeto e importando os dados

Conhecendo a ferramenta Posit Cloud

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.

Criando um novo documento

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.

Conhecendo a interface do Posit Cloud

Na interface do Posit Cloud, temos algumas opções:

Instalando a biblioteca do Tidyverse

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.

Carregando os pacotes do Tidyverse

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.

Importando o arquivo de pedidos

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.

Realizando a leitura do arquivo de pedidos

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:

PedidoIDClienteIDDataPedidoDataEntregaStatusValorTotalTransportadorIDRegiaoEnderecoPedido
101142024-07-01 18:56:182024-07-14 08:00:17Entregue1895.152SudesteTravessa das Palmeiras, 789, Savassi, Belo Horizonte, 30100-000
102122024-07-02 20:57:262024-07-12 11:46:21Entregue2827.162SudesteAvenida Paulista, 456, Bela Vista, São Paulo, 01300-000
10332024-07-03 17:18:262024-07-22 08:57:49Entregue2576.522NorteRua das Flores, 123, Centro, Manaus, 69000-000
10472024-07-04 08:11:382024-07-21 05:59:59Entregue2820.982SulTravessa das Hortênsias, 789, Centro, Florianópolis, 88000-000
105202024-07-05 10:50:352024-07-19 02:15:03Entregue2693.722SudesteTravessa das Palmeiras, 789, Savassi, Belo Horizonte, 30100-000
10692024-07-06 07:01:492024-07-25 14:40:41Entregue2405.182NorteRua 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:

Conclusão

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!

Iniciando o projeto - Manipulando dados: colunas ID do pedido, status e data

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?

Manipulando dados: 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.

Selecionando as colunas 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:

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.

PedidoIDStatus
101Entregue
102Entregue
103Entregue
104Entregue
105Entregue

Há várias páginas, pois é um DataFrame longo que percorre todos os dados.

Selecionando colunas que começam com o termo "Data"

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.

DataPedidoDataEntrega
2024-07-01 18:56:182024-07-14 08:00:17
2024-07-02 20:57:262024-07-12 11:46:21
2024-07-03 17:18:262024-07-22 08:57:49
2024-07-04 08:11:382024-07-21 05:59:59
2024-07-05 10:50:352024-07-19 02:15:03

Conclusão

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!

Sobre o curso R: utilizando o Tidyverse para diferentes formatos de dados

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:

Aprenda Data Science acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas