De los datos al gráfico en un solo pipeline en R
El hábito tidyverse: reformar y luego graficar, sin una variable intermedia.
library(dplyr)
library(tidyr)
library(ggplot2)
wide <- tibble(
lang = c("r", "python", "sql"),
week_1 = c(88, 99, 70),
week_2 = c(92, 104, 74),
week_3 = c(96, 101, 79)
)
plot <- wide |>
pivot_longer(starts_with("week"), names_to = "week", values_to = "tpm",
names_prefix = "week_", names_transform = list(
week = as.integer)) |>
mutate(improvement = tpm - first(tpm), .by = lang) |>
ggplot(aes(week, tpm, colour = lang)) +
geom_line(linewidth = 1) +
geom_point(size = 2) +
scale_x_continuous(breaks = 1:3) +
labs(title = "Three weeks", y = "tpm", x = "week") +
theme_minimal()
print(nrow(plot$data))
ggsave(tempfile(fileext = ".png"), plot, width = 5, height = 3, dpi = 100)
Cómo funciona
- El pipe lleva los datos hasta
ggplot. +continúa el gráfico;|>continúa los datos.- Una sola expresión, así nada a medio armar se escapa.
El intento, en números
- Líneas
- 25
- Caracteres a escribir
- 677
- Tokens
- 207
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 118 segundos.
Paso 3 de 3 en Rematar un gráfico; paso 14 de 15 en ggplot2.