Skip to content

Commit

Permalink
add comparacion pipe
Browse files Browse the repository at this point in the history
  • Loading branch information
Julenasti committed May 30, 2024
1 parent 8981bc5 commit 9ac8f94
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 4 deletions.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@

# nota_tidyverse

En este repositorio se encuentra el material complementario de la nota ecoinformática _Tidyverse_: colección de paquetes de R para la ciencia de datos. Son ficheros donde se muestra un flujo de trabajo con código comparativo entre *tidyverse* y *R base*. Se han trabajado 6 de los 8 paquetes del core de *tidyverse*, a excepción de `ggplot2` y `purrr`.
En este repositorio se encuentra el material complementario de la nota ecoinformática _Tidyverse_: colección de paquetes de R para la ciencia de datos.

scripts_texto_nota.R contiene el script de la nota, penguins.csv es la base de datos que trabajamos en la nota y en los demás archivos se muestra un flujo de trabajo con código comparativo entre *tidyverse* y *R base*.
Se han trabajado 6 de los 8 paquetes del core de *tidyverse*, a excepción de `ggplot2` y `purrr`.

Esta nota es el resultado del grupo de trabajo creado por estudiantes de doctorado de la Unidad Docente de Ecología de la Universidad de Alcalá para profundizar en el uso de herramientas relacionadas con el análisis de datos.
51 changes: 48 additions & 3 deletions scripts_texto_nota.R
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ penguins_df <- read.csv("penguins.csv")

# tibble ------------------------------------------------------------------
# lo lee como un tibble
head(penguins_tb)
head(penguins_tb, n = 3)

# lo lee como un data frame
head(penguins_df)
# R base lo lee como un data frame
head(penguins_df, n = 3)


# dplyr -------------------------------------------------------------------
Expand Down Expand Up @@ -126,3 +126,48 @@ plot_species_base <- function(species_name) {
lapply(X = levels(penguins_df_mean_long_str_for$species),
FUN = plot_species_base)


# pipe -------------------------------------------------------------------
# grafica de tendencia media anual de masa corporal para cada especie
plot_mass_island <- read_csv("penguins.csv") |>
group_by(year, species) |>
summarise(body_mass_g = mean(body_mass_g, na.rm = TRUE)) |>
ggplot(aes(x = year, y = body_mass_g, col = species)) +
geom_line() +
scale_x_continuous(breaks = c(2007, 2008, 2009)) +
labs(x = "year", y = "mean body mass (g)")

plot_mass_island

# R base
penguins_df <- read.csv("penguins.csv")

aggregated_data <- aggregate(body_mass_g ~ year + species, data = penguins,
FUN = function(x) mean(x, na.rm = TRUE))

par(mar = c(5, 4, 4, 8), xpd = TRUE)

plot(aggregated_data$year, aggregated_data$body_mass_g, type = "n", xlab = "year", ylab = "mean body mass (g)", xaxt = "n")

# Separar los datos por especie
species_data_list <- split(aggregated_data, aggregated_data$species)

# Función para dibujar líneas
plot_species_line <- function(data, color) {
lines(data$year, data$body_mass_g, col = color, type = "o")
}

species_colors <- c("Adelie" = "red", "Chinstrap" = "green", "Gentoo" = "blue")

# Aplicar la función a cada elemento de la lista utilizando lapply
lapply(names(species_data_list), function(species) {
plot_species_line(species_data_list[[species]], species_colors[[species]])
})

axis(1, at = c(2007, 2008, 2009))

legend("topright", inset = c(-0.3, 0.3),
legend = names(species_colors), col = species_colors, lty = 1, title = "Species")



0 comments on commit 9ac8f94

Please sign in to comment.