From 113a0c96f9198e0ed04b6848119047dee72d6881 Mon Sep 17 00:00:00 2001 From: Elizabeth Perl Date: Mon, 24 Mar 2025 14:13:32 -0400 Subject: [PATCH 1/2] create vignette --- vignettes/projectstats_vignette.qmd | 98 +++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 vignettes/projectstats_vignette.qmd diff --git a/vignettes/projectstats_vignette.qmd b/vignettes/projectstats_vignette.qmd new file mode 100644 index 0000000..6cb7ef8 --- /dev/null +++ b/vignettes/projectstats_vignette.qmd @@ -0,0 +1,98 @@ +--- +title: "GitHub Repositories" +format: + html: + theme: default +--- + + +## Why + +Within the National Stock Assessment Program (NSAP), it is a priority to place versioned code on GitHub Enterprise to facilitate ensuring that the code is automatically backed up without extra work from the individual user. This summary lists the number of repositories each user has under their personal GitHub account and how many of those are forks, which do not need to be on Enterprise. + +```{r setup} +#| echo: false +#| warning: false + +library(projectstats) +library(dplyr) +library(ggplot2) +library(knitr) +library(purrr) +library(tidyr) + +# All GitHub user names for people in NSAP +user_names <- c( + "Steven-Saul-NOAA", + # Abby + "AndreaChan-NOAA", + "ClaireGonzales-NOAA", + # Jeff + # Len + "kellijohnson-NOAA", + "msupernaw", + "Melissa-Karp", + "ChristineStawitz-NOAA", + "Andrea-Havron-NOAA", + "Bai-Li-NOAA", + "k-doering-NOAA", + "PatrickLynch-NOAA", + "e-perl-NOAA", + "Schiano-NOAA", + "sbreitbart-NOAA" +) + +projects <- data.frame( + organization = c("NOAA-FIMS", "nmfs-ost", "nmfs-ost", "nmfs-ost"), + repository = c("FIMS", "DisMAP", "asar", "ss3-source-code") +) +``` + +## Data + +The following GitHub users names were searched: `r glue::glue_collapse({user_names}, sep = ", ", last = ", and ")`. For each username, we were able to determine the number of repositories that were held by the user and whether not not each repository represented original work or a fork of someone else's work. + +```{r pull} +# Pull the data from GitHub for each user name +repository_data <- purrr::map_df( + user_names, + get_repositories, + type = "users" +) + +# Get the number of stars for FIMS and dismap +stars_data <- purrr::map2_df( + .x = projects[, "organization"], + .y = projects[, "repository"], + .f = get_stargazers, + .id = "project" +) |> + calculate_cumulative_stars() +``` + + +## Results +```{r results} +#| tbl-cap: "Number of forked and original repositories held by each GitHub user name." +#| echo: false + +repository_data |> + dplyr::mutate(fork = ifelse(fork, "forked", "original")) |> + dplyr::group_by(login, fork) |> + dplyr::count() |> + tidyr::pivot_wider(names_from = "fork", values_from = "n") |> + dplyr::arrange(dplyr::desc(original)) |> + knitr::kable() +``` + +```{r plots} +#| fig-cap: "Number of stars since the first day a repository was starred." +#| echo: false +ggplot2::ggplot( + stars_data, + ggplot2::aes(day, cumulative_stars, color = project) +) + + ggplot2::geom_line() + + ggplot2::xlab("Days since first star") + + ggplot2::ylab("Number of stars") +``` From 291e04a2abe0358172ea8d84e73d4a38c557ffa9 Mon Sep 17 00:00:00 2001 From: kellijohnson-NOAA Date: Mon, 24 Mar 2025 12:02:09 -0700 Subject: [PATCH 2/2] Renames vignette to NSAP_summary Fix spacing to 2 spaces Adds Len's user name Removes all packages that are imports of projectstats --- DESCRIPTION | 3 +- ...ectstats_vignette.qmd => NSAP_summary.qmd} | 81 +++++++++---------- 2 files changed, 40 insertions(+), 44 deletions(-) rename vignettes/{projectstats_vignette.qmd => NSAP_summary.qmd} (54%) diff --git a/DESCRIPTION b/DESCRIPTION index 39f7e1c..7135488 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -18,7 +18,8 @@ Imports: purrr, tibble, tidyr -Suggests: +Suggests: + ggplot2, testthat (>= 3.0.0) Config/testthat/edition: 3 Encoding: UTF-8 diff --git a/vignettes/projectstats_vignette.qmd b/vignettes/NSAP_summary.qmd similarity index 54% rename from vignettes/projectstats_vignette.qmd rename to vignettes/NSAP_summary.qmd index 6cb7ef8..e82cdcc 100644 --- a/vignettes/projectstats_vignette.qmd +++ b/vignettes/NSAP_summary.qmd @@ -5,7 +5,6 @@ format: theme: default --- - ## Why Within the National Stock Assessment Program (NSAP), it is a priority to place versioned code on GitHub Enterprise to facilitate ensuring that the code is automatically backed up without extra work from the individual user. This summary lists the number of repositories each user has under their personal GitHub account and how many of those are forks, which do not need to be on Enterprise. @@ -15,36 +14,32 @@ Within the National Stock Assessment Program (NSAP), it is a priority to place v #| warning: false library(projectstats) -library(dplyr) library(ggplot2) -library(knitr) -library(purrr) -library(tidyr) # All GitHub user names for people in NSAP user_names <- c( - "Steven-Saul-NOAA", - # Abby - "AndreaChan-NOAA", - "ClaireGonzales-NOAA", - # Jeff - # Len - "kellijohnson-NOAA", - "msupernaw", - "Melissa-Karp", - "ChristineStawitz-NOAA", - "Andrea-Havron-NOAA", - "Bai-Li-NOAA", - "k-doering-NOAA", - "PatrickLynch-NOAA", - "e-perl-NOAA", - "Schiano-NOAA", - "sbreitbart-NOAA" + "Steven-Saul-NOAA", + # Abby + "AndreaChan-NOAA", + "ClaireGonzales-NOAA", + # Jeff + "RoselynAguila-NOAA", + "kellijohnson-NOAA", + "msupernaw", + "Melissa-Karp", + "ChristineStawitz-NOAA", + "Andrea-Havron-NOAA", + "Bai-Li-NOAA", + "k-doering-NOAA", + "PatrickLynch-NOAA", + "e-perl-NOAA", + "Schiano-NOAA", + "sbreitbart-NOAA" ) projects <- data.frame( - organization = c("NOAA-FIMS", "nmfs-ost", "nmfs-ost", "nmfs-ost"), - repository = c("FIMS", "DisMAP", "asar", "ss3-source-code") + organization = c("NOAA-FIMS", "nmfs-ost", "nmfs-ost", "nmfs-ost"), + repository = c("FIMS", "DisMAP", "asar", "ss3-source-code") ) ``` @@ -55,19 +50,19 @@ The following GitHub users names were searched: `r glue::glue_collapse({user_nam ```{r pull} # Pull the data from GitHub for each user name repository_data <- purrr::map_df( - user_names, - get_repositories, - type = "users" + user_names, + get_repositories, + type = "users" ) # Get the number of stars for FIMS and dismap stars_data <- purrr::map2_df( - .x = projects[, "organization"], - .y = projects[, "repository"], - .f = get_stargazers, - .id = "project" + .x = projects[, "organization"], + .y = projects[, "repository"], + .f = get_stargazers, + .id = "project" ) |> - calculate_cumulative_stars() + calculate_cumulative_stars() ``` @@ -77,22 +72,22 @@ stars_data <- purrr::map2_df( #| echo: false repository_data |> - dplyr::mutate(fork = ifelse(fork, "forked", "original")) |> - dplyr::group_by(login, fork) |> - dplyr::count() |> - tidyr::pivot_wider(names_from = "fork", values_from = "n") |> - dplyr::arrange(dplyr::desc(original)) |> - knitr::kable() + dplyr::mutate(fork = ifelse(fork, "forked", "original")) |> + dplyr::group_by(login, fork) |> + dplyr::count() |> + tidyr::pivot_wider(names_from = "fork", values_from = "n") |> + dplyr::arrange(dplyr::desc(original)) |> + knitr::kable() ``` ```{r plots} #| fig-cap: "Number of stars since the first day a repository was starred." #| echo: false ggplot2::ggplot( - stars_data, - ggplot2::aes(day, cumulative_stars, color = project) + stars_data, + ggplot2::aes(day, cumulative_stars, color = project) ) + - ggplot2::geom_line() + - ggplot2::xlab("Days since first star") + - ggplot2::ylab("Number of stars") + ggplot2::geom_line() + + ggplot2::xlab("Days since first star") + + ggplot2::ylab("Number of stars") ```