Reestructurar datos con library(tidyr)
pivot_longer()
Fuente: Garrick Aden-Buie’s - Tidyexplained Verbs
+Fuente: Garrick Aden-Buie’s - Tidyexplained Verbs
Reestructurar datos
@@ -2318,6 +2384,22 @@Guardar dataset
write_delim
- usa cualquier separador de datos (ej. delim = “|”)Guardar dataset
+El formato parquet
para guardar datos es una forma muy eficiente de manejar grandes bases de datos.
Este formato archiva los datos en forma de columnas, ofrece una compresion mayor que .csv incluso mayor que .rds y es más rapido para trabajar.
+Además permite el particionado de datos en diferentes ficheros.
+Recursos
-
@@ -2342,9 +2424,9 @@
Ejercicio 1:
Ejercicio 1:
Usando la base de datos final (dt_sp), seleccionar datos con información para diámetro de tronco (stem_cm) y ordernar de mayor a menor:
filter: removed 80,777 rows (98%), 1,503 rows remaining
Ejercicio 2:
Ejercicio 2:
Usando la base de datos final (dt_sp), calcular diámetro medio y SD para cada especie de árbol.
dt_sp |>
- filter(!is.na(stem_cm)) |>
- group_by(species_name) |>
- summarise(mean = mean(stem_cm),
- sd = sd(stem_cm))
dt_sp |>
+ filter(!is.na(stem_cm)) |>
+ group_by(species_name) |>
+ summarise(mean = mean(stem_cm),
+ sd = sd(stem_cm))
filter: removed 80,777 rows (98%), 1,503 rows remaining
Ejercicio 3:
Ejercicio 3:
Usando la base de datos final (dt_sp), calcular el número de árboles y número de especies mayores de 40cm de diámetro y menores de 40cm de diámetro.
dt |>
- filter(!is.na(stem_cm)) |>
- mutate(tree_size = case_when(stem_cm >= 40 ~ "big",
- stem_cm < 40 ~ "small")) |>
- group_by(tree_size) |>
- summarise(n_trees = n(),
- n_species = n_distinct(species_name))
dt |>
+ filter(!is.na(stem_cm)) |>
+ mutate(tree_size = case_when(stem_cm >= 40 ~ "big",
+ stem_cm < 40 ~ "small")) |>
+ group_by(tree_size) |>
+ summarise(n_trees = n(),
+ n_species = n_distinct(species_name))
filter: removed 210,780 rows (99%), 2,282 rows remaining
Ejercicio 4:
Ejercicio 4:
Usando la base de datos final (dt_sp), seleccionar sitios con método de conteo tipo “TRAP” y calcular cantidad máxima y mínima de frutos por m2 para cada sitio.
dt_sp |>
- filter(method == "TRAP") |>
- group_by(site) |>
- summarise(max_fruit = max(fruits_per_m2),
- min_fruit = mean(fruits_per_m2))
dt_sp |>
+ filter(method == "TRAP") |>
+ group_by(site) |>
+ summarise(max_fruit = max(fruits_per_m2),
+ min_fruit = mean(fruits_per_m2))
filter: removed 33,191 rows (40%), 49,089 rows remaining
Ejercicio 5:
Ejercicio 5:
Usando la base de datos final (dt_sp), crear una tabla que compare la suma de frutos contados en los sitios CWT y HFR (en columnas), para los años entre 2000-2010 (filas).
dt_sp |>
- filter(site %in% c("CWT", "SEV")) |>
- filter(year %in% c(2000:2010)) |>
- group_by(site, year) |>
- summarise(fruits = sum(fruits)) |>
- pivot_wider(names_from = site, values_from = fruits)
dt_sp |>
+ filter(site %in% c("CWT", "SEV")) |>
+ filter(year %in% c(2000:2010)) |>
+ group_by(site, year) |>
+ summarise(fruits = sum(fruits)) |>
+ pivot_wider(names_from = site, values_from = fruits)
# A tibble: 11 × 3
year CWT SEV
@@ -2521,12 +2603,12 @@ Ejercicio 6:
Ejercicio 6:
Usando la base de datos final (dt_sp), crear una tabla que compare la suma de frutos contados entre los años 2001 y 2005 (en columnas), para las especies de Abies (filas).
-dt_sp |>
- filter(year %in% c(2001:2005)) |>
- filter(str_detect(species_name, "Abies")) |>
- group_by(year, species_name) |>
- summarise(fruits = sum(fruits)) |>
- pivot_wider(names_from = year, values_from = fruits)
+dt_sp |>
+ filter(year %in% c(2001:2005)) |>
+ filter(str_detect(species_name, "Abies")) |>
+ group_by(year, species_name) |>
+ summarise(fruits = sum(fruits)) |>
+ pivot_wider(names_from = year, values_from = fruits)
# A tibble: 6 × 6
species_name `2001` `2002` `2003` `2004` `2005`
diff --git a/slides/github.html b/slides/github.html
index d760f0a..c0d87c6 100644
--- a/slides/github.html
+++ b/slides/github.html
@@ -7,7 +7,7 @@
-
+
Git y GitHub