library(tidyverse)
library(dplyr)Atividade 02
Carregando pacotes
Carregando dados
ovos<- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-04-11/egg-production.csv')
view(ovos) Exercício 1
Remover a última coluna dataset (a coluna chamada source)
ovos1<-select(ovos,-source)
head(ovos1)# A tibble: 6 × 5
observed_month prod_type prod_process n_hens n_eggs
<date> <chr> <chr> <dbl> <dbl>
1 2016-07-31 hatching eggs all 57975000 1147000000
2 2016-08-31 hatching eggs all 57595000 1142700000
3 2016-09-30 hatching eggs all 57161000 1093300000
4 2016-10-31 hatching eggs all 56857000 1126700000
5 2016-11-30 hatching eggs all 57116000 1096600000
6 2016-12-31 hatching eggs all 57750000 1132900000
Exercício 2
Selecionar apenas as variáveis numéricas
ovos2<-select_if(ovos1,is.numeric)
head(ovos2)# A tibble: 6 × 2
n_hens n_eggs
<dbl> <dbl>
1 57975000 1147000000
2 57595000 1142700000
3 57161000 1093300000
4 56857000 1126700000
5 57116000 1096600000
6 57750000 1132900000
Exercício 3
Criar um dataset só com hatching e outro dataset apenas com table eggs
ovos.hatching<-filter(ovos,ovos$prod_type=="hatching eggs")
ovos.table.eggs<-filter(ovos,ovos$prod_type=="table eggs")
view(ovos.hatching)
view(ovos.table.eggs)Exercício 4
Criar um dataset só com table eggs e todos os processos (all)
ovos.table.eggs.all<-filter(ovos,ovos$prod_type=="table eggs"& ovos$prod_process=="all")
view(ovos.table.eggs.all)Exercício 5
Mudar os nomes das variáveis para português
ovos.ptbr<-rename(ovos,"mês_observado"=observed_month, "tipo_de_produto"=prod_type, "tipo_de_processo"=prod_process, "N_galinhas"=n_hens,"N_ovos"=n_eggs, "origem"=source)
view(ovos.ptbr)Exercício 6
Mudar os nomes dos fatores para português
ovos.ptbr.2<-mutate(ovos.ptbr,tipo_de_produto = recode(tipo_de_produto, `hatching eggs`= "P incubação",`table eggs` = "ovos de mesa"))
ovos.ptbr3<-ovos.ptbr %>% mutate(tipo_de_produto = recode(tipo_de_produto, `hatching eggs`= "P incubação", `table eggs` = "ovos de mesa")) %>% mutate(tipo_de_processo=recode(tipo_de_processo,`all`="todos",`cage-free (non-organic)`="não orgânico",`cage-free (organic)`="orgânico"))
view(ovos.ptbr3)Exercício 7
Criar uma nova variável chamada ‘produtividade’ com a razão entre número de ovos (n_eggs) e número de galinhas (hen)
ovos.pro<-mutate(ovos.ptbr3,produtividade=(`N_ovos`/`N_galinhas`))
view(ovos.pro)Exercício 8
Criar um dataset só de produtos (cage free) e criar novas variáveis separando (n_eggs) e (n_hens) por organicos e não orgânicos
ovo.w<-ovos1 %>% filter(prod_process !="all") %>% separate(prod_process,into = c("processo","tipo"),sep=" ") %>% pivot_wider(names_from = tipo, values_from = c(n_hens,n_eggs))
view(ovos1)
view(ovo.w)Exercício 9
criar uma variável catergórica com os fatores n_eggs e n_hens em uma única coluna, e valores em outra, trasformando n_eggs e n_hens
ovosj2<-ovos1 %>% pivot_longer(cols = starts_with("n_"),names_to = "tipo",values_to = "value")Exercício 10
Faça um sumário dos dados com as médias de n_hens e n_eggs por ano, por produto e por processo
ovosf<-ovos1 %>% separate(observed_month,into = c("year","month","day"),sep = "-") %>% select(-month,-day) %>% group_by(year,prod_type,prod_process) %>% summarise_if(is.numeric,mean)
view(ovosf)
ovosf2<-ovos1 %>% separate(observed_month,into = c("year","month","day"),sep = "-") %>% select(-month,-day) %>% group_by(year,prod_type,prod_process) %>% summarise (Média_ovos= mean(n_eggs),Média_galinhas=mean(n_hens))`summarise()` has grouped output by 'year', 'prod_type'. You can override using
the `.groups` argument.
head(ovosf2)# A tibble: 6 × 5
# Groups: year, prod_type [4]
year prod_type prod_process Média_ovos Média_galinhas
<chr> <chr> <chr> <dbl> <dbl>
1 2016 hatching eggs all 1123200000 57409000
2 2016 table eggs all 7486216667. 306542667.
3 2016 table eggs cage-free (non-organic) 480326307. 20900000
4 2016 table eggs cage-free (organic) 318542883. 13860000
5 2017 hatching eggs all 1123725000 59521833.
6 2017 table eggs all 7637800000 314964500