library(tidyverse)
library(glue)
f <- function(p, q) {
sin((1:10) * p) + q
}
(my_data <- tibble(
p = 2:4,
q = c(1, 5, 2)
))
(my_plot_data <- my_data |> rowwise() |> mutate(y = list(f(p, q))) |>
unnest_wider(col = y, names_sep = "_") |> pivot_longer(
cols = starts_with("y_"), names_to = "x_",
values_to = "y"
) |> mutate(
x = parse_number(x_),
pq_label = glue("f({p},{q})")
))
ggplot(data = my_plot_data) +
aes(x = x, y = y, color = pq_label) +
geom_line(linewidth=2)
1 Like