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.csvdisponível AQUI. - Junte o conjunto de dados de
vendascom o conjunto de dados declientesusando oid_clientecomo 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" )