Skip to Tutorial Content

Tutorial guiado 2 · Manipulação de dados em R

Neste tutorial vamos explorar o básico de manipulação de dados em R usando os pacotes do tidyverse.

Todos os exercícios tem uma solução sugerida e comentada. Mas recomendo que só olhe a solução após tentar resolver sozinho.

1. Importação de dados CSV

  • Importe o arquivo clientes.csv e armazene o resultado no objeto clientes. O conjunto de dados está disponível no endereço CLIQUE AQUI.

Lembre-se de indicar o caminho corretamente para o arquivo.

clientes <- read_csv("http://leg.ufpr.br/~wagner/data/clientes.csv")

2. Conhecendo os dados

  • Exiba as primeiras linhas do conjunto de dados clientes.
  • Obtenha a estrutura do conjunto de dados.
head(clientes) ## Primeiras linhas

glimpse(clientes) ## Estrutura dos dados

str(clientes) ## Outra opção

3. Seleção de colunas

Selecione apenas as colunas id_cliente, nome e cidade.

clientes %>% 
  select(id_cliente, nome, cidade)

4. Filtragem de observações

  • Selecione apenas as colunas id_cliente, nome e cidade.
  • Filtre apenas os clientes da cidade de Curitiba.
clientes %>% 
  filter(idade >= 30)


clientes %>%
  filter(cidade == "Curitiba")

5. Junção de dados

  • Agora carregue o conjunto de dados vendas.csv disponível AQUI.
  • Junte o conjunto de dados de vendas com o conjunto de dados de clientes usando o id_cliente como identificar.
  • Chame o novo conjunto de dados de completo.
vendas <- read_csv("http://leg.ufpr.br/~wagner/data/vendas.csv")
completo <- left_join(clientes, vendas, by = 'id_cliente')

6. Criação de variáveis

  • Crie uma nova variável chamada de valor_total = quantidade * preco.
completo <- completo %>% mutate( 
    valor_total = quantidade * preco )

7. Agregação de dados

  • Calcule o preço médio e o número total de itens vendidos por cidade
completo %>% 
  group_by(cidade) %>% 
  summarise(preco_medio = mean(preco, na.rm = TRUE),
            total_itens = sum(quantidade))

8. Agregação de dados

  • Compare o preço médio gasto por sexo em cada cidade.
  • Apresente os dados no formato wide com relação ao sexo.
compara_sexo <- completo %>% 
  group_by(sexo, cidade) %>% 
  summarise(preco_medio = mean(preco, na.rm = TRUE))

resumo <- compara_sexo |>  
  pivot_wider(names_from = sexo, values_from = preco_medio)

9. Exportação de dados

  • Exporte a tabela que compara os sexos.
write_csv(resumo, "resumo.csv" )

Tutorial: Manipulação de dados usando o tidyverse