Exercicio Manipulação

Author

Luis Olivera

Published

October 13, 2024

Exercicio 1 remover source

  • egg <- readr::read_csv(‘https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-04-11/egg-production.csv’)

  • eggproduction_egg <- eggproduction_egg %>% select(-source):

Exercicio 2

  • seleccionar so variaves numericas

num <- egg %>% select(where(is.numeric))

Exercicio 3 . criando subconjuntos a partir de um conjunto de dados

##Criar um dataset só com hatching e outro dataset apenas com table eggs

Filtrando el dataset para quedarse solo com hatching

hatching_data <- egg %>% filter(prod_type == “hatching eggs”)

##hatching_data <- eggproduction_egg %>% ##filter(prod_type != “hatching”)

Filtrando el dataset para quedarse solo com table eggs

table_eggs_data <- egg %>% filter(prod_type == “table eggs”)

Exercício 4 - criando subconjuntos a partir de fatores específicos dentro do conjunto de dados

##Criar um dataset só com table eggs e todos os processos (all) table_eggs_all <- egg %>% filter(prod_type == “table eggs”) View(table_eggs_all)

Exercício 5 - mudando nome das variáveis

##Mudar os nomes das variáveis para português

library(dplyr)

egg_es <- egg %>% rename( mes_observacion = observed_month, tipo_producto = prod_type, produ_procesado = prod_process, n_gallinas = n_hens, n_huevos = n_eggs )

6 - mudando nomes de fatores dentro de variáveis específicas

##Mudar os nomes dos fatores para português

install.packages(“forcats”) library(forcats)

egg_es <- egg %>% rename( mes_observacion = observed_month, tipo_producto = prod_type, produ_procesado = prod_process, n_gallinas = n_hens, n_huevos = n_eggs ) %>% mutate( tipo_producto = fct_recode( tipo_producto, “Huevos de mesa” = “table eggs”, “Huevos de incubación” = “hatching eggs” ) )

Exercício 7 - criando nova variável a partir da combinação de variáveis pré-existentes

#Criar uma nova variável chamada ‘produtividade’ com a razão entre número de ovos (n_eggs) e número de galinhas (n_hens)

library(dplyr)

Crear a nova variável ‘produtividade’

egg_es <- egg_es %>% mutate(produtividade = n_gallinas / n_huevos)

Criar a nova variável ‘produtividade’, evitando divisão por zero

egg_es <- egg_es %>% mutate(produtividade = ifelse(n_gallinas > 0, n_huevos / n_gallinas, NA))

Exercício 8 - criando subconjunto de dados a partir de uma seleção específica das variáveis

##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

library(tidyr)

eggproduction_long <- egg_es %>% pivot_longer(cols = c(n_gallinas, n_huevos), names_to = “variable”, values_to = “valor”) View(eggproduction_long)

#otra forma e hacer el punto 8

names(egg_es)

sep <- egg_es %>% filter(produ_procesado !=“all”) %>% separate(produ_procesado, into = c(“produ_procesado”, “tipo_producto”), sep =” “) %>% pivot_wider(names_from = tipo_producto, values_from = c(productividade, n_huevos))

Exercício 9 - combinando duas variáveis numéricas em uma única coluna

##Criar uma variável categórica com os fatores n_eggs e n_hens, combinando seus valores em uma única coluna

junto <- egg_es %>% pivot_longer(cols = 4:5, names_to = “productividade”, values_to = “value”)

Unir la columna ‘n_gallinas’ en una nueva columna ‘produtividade’

egg_es <- egg_es %>% unite(“productividade”, n_gallinas, sep = “//”)

categ <- egg %>% pivot_longer(4:5, names_to = “Eggs and hens”, values_to = “egg/hens”)

Exercício 10 - sumarizando dados (média, desvio, etc) de acordo com fatores específicos de cada variável

##Faça um sumário dos dados com as médias de n_hens e n_eggs por ano, por produto e por processo

library(dplyr) library(tidyr)

#Separar la columna ‘observed_month’ y agrupar por ‘year’, ‘prod_type’, y ‘prod_process’ sum <- egg %>% separate(observed_month, into = c(“year”, “month”, “day”), sep = “-”) %>% select(-month, -day) %>% # Solo selecciona las columnas que existen group_by(year, prod_type, prod_process) %>% # Usar los nombres en español summarise(across(everything(), ~ mean(.x, na.rm = TRUE), .names = “mean_{.col}”), .groups = ‘drop’) # Usar una función anónima

Ver el resultado

print(sum)