Intro Thoughts

Status Quo

library(tidyverse)

Experiment

library(ggraph)

# data cleaning
db_ggplot2 <- as_tibble(tools::CRAN_package_db()) |>
  filter(Imports |> str_detect("ggplot2"),
         Package |> str_detect("gg|GG"))

db_ggplot2 |> 
  select(Package, Author, URL) |>
  mutate(author = map2(Author, "\n", str_split_1)) |> 
  unnest(cols = c(author)) |>
  mutate(author = author |> str_remove("\\[.+") |> str_remove('c\\(\\"')) |> 
  select(Package, author, URL) |> 
  filter(author |> str_detect("<", negate = T)) |> 
  ggraph(layout = "fr") + 
  geom_edge_link() + 
  geom_node_label(mapping = aes(label = name))

Closing remarks, Other Relevant Work, Caveats