diff --git a/joss-submission-analytics.html b/joss-submission-analytics.html index 1c71dae..cf7da9c 100644 --- a/joss-submission-analytics.html +++ b/joss-submission-analytics.html @@ -5486,7 +5486,7 @@

JOSS submission analytics

-

2024-10-23 09:01:43.444529

+

2024-10-23 17:23:36.216911

@@ -5641,9 +5641,9 @@

Pull down paper info from Crossref and citation information from ## lapply(c("W3005984879"), \(x) oa_fetch(identifier = x)) ## Details at https://docs.openalex.org/api-entities/authors/limitations.
dim(oa)
-
## [1] 2716   40
+
## [1] 2724   40
length(unique(oa$doi))
-
## [1] 2716
+
## [1] 2719
papers <- papers %>% dplyr::left_join(
     oa %>% dplyr::mutate(alternative.id = sub("https://doi.org/", "", doi)) %>%
         dplyr::select(alternative.id, cited_by_count, id,
@@ -5653,7 +5653,7 @@ 

Pull down paper info from Crossref and citation information from by = "alternative.id" ) dim(papers)

-
## [1] 2714   32
+
## [1] 2719   32
dim(papers %>% distinct())
## [1] 2714   32
source_track <- c(source_track, 
@@ -5661,12 +5661,12 @@ 

Pull down paper info from Crossref and citation information from names(source_track)))), names = setdiff(colnames(papers), names(source_track))))

-
-

Pull down info from Whedon API

-

For each published paper, we use the Whedon API to get information +

+

Pull down info from JOSS API

+

For each published paper, we use the JOSS API to get information about pre-review and review issue numbers, corresponding software repository etc.

-
whedon <- list()
+
joss_api <- list()
 p <- 1
 a0 <- NULL
 a <- jsonlite::fromJSON(
@@ -5674,7 +5674,7 @@ 

Pull down info from Whedon API

simplifyDataFrame = FALSE ) while (length(a) > 0 && !identical(a, a0)) { - whedon <- c(whedon, a) + joss_api <- c(joss_api, a) p <- p + 1 a0 <- a a <- tryCatch({ @@ -5686,7 +5686,7 @@

Pull down info from Whedon API

) } -whedon <- do.call(dplyr::bind_rows, lapply(whedon, function(w) { +joss_api <- do.call(dplyr::bind_rows, lapply(joss_api, function(w) { data.frame(api_title = w$title, api_state = w$state, editor = paste(w$editor, collapse = ","), @@ -5701,11 +5701,11 @@

Pull down info from Whedon API

languages = gsub(", ", ",", w$languages), archive_doi = w$software_archive) })) -dim(whedon)
+dim(joss_api)
## [1] 2716   11
-
dim(whedon %>% distinct())
+
dim(joss_api %>% distinct())
## [1] 2716   11
-
whedon$repo_url[duplicated(whedon$repo_url)]
+
joss_api$repo_url[duplicated(joss_api$repo_url)]
##  [1] "https://gitlab.com/mauricemolli/petitRADTRANS"
 ##  [2] "https://github.com/idaholab/moose"            
 ##  [3] "https://gitlab.com/libreumg/dataquier.git"    
@@ -5719,28 +5719,33 @@ 

Pull down info from Whedon API

## [11] "https://github.com/mlpack/mlpack" ## [12] "https://github.com/julia-wrobel/registr" ## [13] "https://github.com/barbagroup/pygbe"
-
papers <- papers %>% dplyr::left_join(whedon, by = c("alternative.id" = "doi"))
+
papers <- papers %>% dplyr::left_join(joss_api, by = c("alternative.id" = "doi"))
 dim(papers)
-
## [1] 2714   42
+
## [1] 2719   42
dim(papers %>% distinct())
## [1] 2714   42
papers$repo_url[duplicated(papers$repo_url)]
-
##  [1] "https://github.com/landlab/landlab"           
-##  [2] "https://github.com/landlab/landlab"           
-##  [3] "https://github.com/idaholab/moose"            
-##  [4] "https://github.com/idaholab/moose"            
-##  [5] "https://github.com/dynamicslab/pysindy"       
-##  [6] "https://github.com/barbagroup/pygbe"          
-##  [7] "https://github.com/julia-wrobel/registr"      
-##  [8] "https://github.com/symmy596/SurfinPy"         
-##  [9] "https://github.com/pvlib/pvlib-python"        
-## [10] "https://gitlab.com/libreumg/dataquier.git"    
-## [11] "https://github.com/mlpack/mlpack"             
-## [12] "https://github.com/landlab/landlab"           
-## [13] "https://gitlab.com/mauricemolli/petitRADTRANS"
+
##  [1] "https://github.com/landlab/landlab"            
+##  [2] "https://github.com/landlab/landlab"            
+##  [3] "https://github.com/annajenul/UBayFS"           
+##  [4] "https://github.com/pyomeca/biosiglive"         
+##  [5] "https://github.com/PoliUniLu/cora"             
+##  [6] "https://github.com/idaholab/moose"             
+##  [7] "https://github.com/idaholab/moose"             
+##  [8] "https://github.com/MrShoenel/metrics-as-scores"
+##  [9] "https://github.com/nialov/fractopo"            
+## [10] "https://github.com/dynamicslab/pysindy"        
+## [11] "https://github.com/barbagroup/pygbe"           
+## [12] "https://github.com/julia-wrobel/registr"       
+## [13] "https://github.com/pvlib/pvlib-python"         
+## [14] "https://github.com/symmy596/SurfinPy"          
+## [15] "https://gitlab.com/libreumg/dataquier.git"     
+## [16] "https://github.com/mlpack/mlpack"              
+## [17] "https://github.com/landlab/landlab"            
+## [18] "https://gitlab.com/mauricemolli/petitRADTRANS"
source_track <- c(source_track, 
-                  structure(rep("whedon", length(setdiff(colnames(papers),
-                                                         names(source_track)))), 
+                  structure(rep("JOSS_API", length(setdiff(colnames(papers),
+                                                           names(source_track)))), 
                             names = setdiff(colnames(papers), names(source_track))))
@@ -5842,7 +5847,7 @@

Combine with info from GitHub issues

days_in_rev = review_closed - review_opened, to_review = !is.na(review_opened)) dim(papers)
-
## [1] 2714   58
+
## [1] 2719   58
dim(papers %>% distinct())
## [1] 2714   58
source_track <- c(source_track, 
@@ -5858,24 +5863,29 @@ 

Add information from software repositories

na.last = FALSE) software_urls <- papers$repo_url[tmporder] software_urls[duplicated(software_urls)]
-
##  [1] "https://gitlab.com/libreumg/dataquier.git"    
-##  [2] "https://gitlab.com/mauricemolli/petitRADTRANS"
-##  [3] "https://github.com/barbagroup/pygbe"          
-##  [4] "https://github.com/symmy596/SurfinPy"         
-##  [5] "https://github.com/landlab/landlab"           
-##  [6] "https://github.com/landlab/landlab"           
-##  [7] "https://github.com/idaholab/moose"            
-##  [8] "https://github.com/idaholab/moose"            
-##  [9] "https://github.com/dynamicslab/pysindy"       
-## [10] "https://github.com/julia-wrobel/registr"      
-## [11] "https://github.com/pvlib/pvlib-python"        
-## [12] "https://github.com/mlpack/mlpack"             
-## [13] "https://github.com/landlab/landlab"
+
##  [1] "https://gitlab.com/libreumg/dataquier.git"     
+##  [2] "https://gitlab.com/mauricemolli/petitRADTRANS" 
+##  [3] "https://github.com/pyomeca/biosiglive"         
+##  [4] "https://github.com/annajenul/UBayFS"           
+##  [5] "https://github.com/idaholab/moose"             
+##  [6] "https://github.com/PoliUniLu/cora"             
+##  [7] "https://github.com/idaholab/moose"             
+##  [8] "https://github.com/dynamicslab/pysindy"        
+##  [9] "https://github.com/julia-wrobel/registr"       
+## [10] "https://github.com/pvlib/pvlib-python"         
+## [11] "https://github.com/landlab/landlab"            
+## [12] "https://github.com/landlab/landlab"            
+## [13] "https://github.com/MrShoenel/metrics-as-scores"
+## [14] "https://github.com/nialov/fractopo"            
+## [15] "https://github.com/barbagroup/pygbe"           
+## [16] "https://github.com/symmy596/SurfinPy"          
+## [17] "https://github.com/mlpack/mlpack"              
+## [18] "https://github.com/landlab/landlab"
is_github <- grepl("github", software_urls)
 length(is_github)
-
## [1] 2714
+
## [1] 2719
sum(is_github)
-
## [1] 2561
+
## [1] 2566
software_urls[!is_github]
##   [1] "https://gitlab.mpikg.mpg.de/curcuraci/bmiptools"                                 
 ##   [2] "https://gitlab.com/utopia-project/utopia"                                        
@@ -5951,8 +5961,8 @@ 

Add information from software repositories

## [72] "https://forgemia.inra.fr/pherosensor/pherosensor-toolbox" ## [73] "https://gitlab.uliege.be/smart_grids/public/gboml" ## [74] "https://gitlab.com/picos-api/picos" -## [75] "https://gitlab.com/dlr-ve/esy/amiris/amiris" -## [76] "https://gitlab.com/remram44/taguette" +## [75] "https://gitlab.com/remram44/taguette" +## [76] "https://gitlab.com/dlr-ve/esy/amiris/amiris" ## [77] "https://bitbucket.org/mpi4py/mpi4py-fft" ## [78] "https://gitlab.kitware.com/LBM/lattice-boltzmann-solver" ## [79] "https://gitlab.com/eidheim/Simple-Web-Server" @@ -5974,32 +5984,32 @@

Add information from software repositories

## [95] "https://gitlab.ifremer.fr/resourcecode/resourcecode" ## [96] "https://gitlab.com/pvst/asi" ## [97] "https://bitbucket.org/sciencecapsule/sciencecapsule" -## [98] "https://gitlab.com/QComms/cqptoolkit" -## [99] "https://gitlab.com/thartwig/asloth" -## [100] "https://gitlab.com/fame-framework/fame-core" -## [101] "https://gitlab.com/fame-framework/fame-io" -## [102] "https://gitlab.com/lheea/CN-AeroModels" -## [103] "https://gitlab.com/chaver/choco-mining" -## [104] "https://gitlab.com/drti/basic-tools" -## [105] "https://gitlab.com/ags-data-format-wg/ags-python-library" -## [106] "https://bitbucket.org/likask/mofem-cephas" -## [107] "https://bitbucket.org/miketuri/perl-spice-sim-seus/" -## [108] "https://bitbucket.org/ocellarisproject/ocellaris" -## [109] "https://gitlab.inria.fr/mosaic/bvpy" -## [110] "https://bitbucket.org/berkeleylab/esdr-pygdh/" -## [111] "https://sourceforge.net/p/mcapl/mcapl_code/ci/master/tree/" -## [112] "https://gitlab.com/cmbm-ethz/pourbaix-diagrams" -## [113] "https://gitlab.com/dlr-ve/autumn/" -## [114] "https://gitlab.com/habermann_lab/phasik" -## [115] "https://gitlab.com/moorepants/skijumpdesign" +## [98] "https://gitlab.com/lheea/CN-AeroModels" +## [99] "https://gitlab.com/QComms/cqptoolkit" +## [100] "https://gitlab.com/thartwig/asloth" +## [101] "https://gitlab.com/fame-framework/fame-core" +## [102] "https://gitlab.com/fame-framework/fame-io" +## [103] "https://gitlab.com/LMSAL_HUB/aia_hub/aiapy" +## [104] "https://gitlab.com/habermann_lab/phasik" +## [105] "https://gitlab.com/chaver/choco-mining" +## [106] "https://gitlab.com/drti/basic-tools" +## [107] "https://gitlab.com/ags-data-format-wg/ags-python-library" +## [108] "https://bitbucket.org/miketuri/perl-spice-sim-seus/" +## [109] "https://bitbucket.org/ocellarisproject/ocellaris" +## [110] "https://gitlab.inria.fr/mosaic/bvpy" +## [111] "https://gitlab.com/moorepants/skijumpdesign" +## [112] "https://bitbucket.org/berkeleylab/esdr-pygdh/" +## [113] "https://gitlab.com/cmbm-ethz/pourbaix-diagrams" +## [114] "https://gitlab.com/dlr-ve/autumn/" +## [115] "https://bitbucket.org/likask/mofem-cephas" ## [116] "https://gitlab.com/davidtourigny/dynamic-fba" ## [117] "https://git.iws.uni-stuttgart.de/tools/frackit" -## [118] "https://gitlab.com/LMSAL_HUB/aia_hub/aiapy" -## [119] "https://gitlab.com/cosmograil/PyCS3" -## [120] "https://gitlab.com/materials-modeling/wulffpack" -## [121] "https://bitbucket.org/cmutel/brightway2" -## [122] "https://bitbucket.org/dolfin-adjoint/pyadjoint" -## [123] "https://gitlab.com/MartinBeseda/sa-oo-vqe-qiskit.git" +## [118] "https://gitlab.com/cosmograil/PyCS3" +## [119] "https://gitlab.com/MartinBeseda/sa-oo-vqe-qiskit.git" +## [120] "https://sourceforge.net/p/mcapl/mcapl_code/ci/master/tree/" +## [121] "https://bitbucket.org/dolfin-adjoint/pyadjoint" +## [122] "https://gitlab.com/materials-modeling/wulffpack" +## [123] "https://bitbucket.org/cmutel/brightway2" ## [124] "https://bitbucket.org/mituq/muq2.git" ## [125] "https://doi.org/10.17605/OSF.IO/3DS6A" ## [126] "https://gitlab.eudat.eu/coccon-kit/proffastpylot" @@ -6119,7 +6129,7 @@

Add information from software repositories

} stopifnot(length(unique(df$repo_url)) == length(df$repo_url)) dim(df)
-
## [1] 1502   12
+
## [1] 1132   12
## For papers not in df (i.e., for which we didn't get a valid response
 ## from the GitHub API query), use information from the archived data frame
 dfarchive <- papers_archive %>% 
@@ -6131,24 +6141,24 @@ 

Add information from software repositories

## # A tibble: 6 × 12
 ##   repo_url    repo_created repo_updated repo_pushed repo_nbr_stars repo_language
 ##   <chr>       <date>       <date>       <date>               <int> <chr>        
-## 1 https://gi… 2019-04-10   2024-04-25   2020-07-09               7 Jupyter Note…
-## 2 https://gi… 2019-08-19   2023-11-05   2022-04-29               4 R            
-## 3 https://gi… 2019-05-03   2024-10-16   2024-10-14            3648 Python       
-## 4 https://gi… 2019-03-08   2024-10-15   2024-05-10             237 Python       
-## 5 https://gi… 2016-07-09   2024-10-08   2024-10-08             221 Python       
-## 6 https://gi… 2014-06-11   2024-08-31   2023-01-26              31 Tcl          
+## 1 https://gi… 2019-01-10   2021-11-26   2021-11-26               1 Python       
+## 2 https://gi… 2020-03-19   2024-05-22   2024-05-31              11 Python       
+## 3 https://gi… 2020-01-03   2022-06-06   2021-09-15              14 R            
+## 4 https://gi… 2019-10-18   2021-05-03   2021-05-03               0 R            
+## 5 https://gi… 2015-08-12   2021-03-02   2020-03-19              19 R            
+## 6 https://gi… 2022-10-17   2024-10-17   2023-05-09              13 TypeScript   
 ## # ℹ 6 more variables: repo_languages_bytes <chr>, repo_topics <chr>,
 ## #   repo_license <chr>, repo_nbr_contribs <int>,
 ## #   repo_nbr_contribs_2ormore <int>, repo_info_obtained <date>
dim(dfarchive)
-
## [1] 1199   12
+
## [1] 1569   12
df <- dplyr::bind_rows(df, dfarchive)
 stopifnot(length(unique(df$repo_url)) == length(df$repo_url))
 dim(df)
## [1] 2701   12
papers <- papers %>% dplyr::left_join(df, by = "repo_url")
 dim(papers)
-
## [1] 2714   69
+
## [1] 2719   69
source_track <- c(source_track, 
                   structure(rep("sw-github", length(setdiff(colnames(papers),
                                                             names(source_track)))), 
@@ -6170,17 +6180,29 @@ 

Clean up a bit

each = 2), c("H1", "H2"))) ) %>% dplyr::mutate(nbr_authors = vapply(author, function(a) nrow(a), NA_integer_)) dim(papers)
-
## [1] 2714   69
+
## [1] 2719   69
dupidx <- which(papers$alternative.id %in% papers$alternative.id[duplicated(papers)])
 papers[dupidx, ] %>% arrange(alternative.id) %>% head(n = 10)
-
## # A tibble: 0 × 69
-## # ℹ 69 variables: alternative.id <chr>, container.title <chr>, created <chr>,
-## #   deposited <chr>, published.print <chr>, doi <chr>, indexed <chr>,
-## #   issn <chr>, issue <chr>, issued <chr>, member <chr>, page <chr>,
-## #   prefix <chr>, publisher <chr>, score <chr>, source <chr>,
-## #   reference.count <chr>, references.count <chr>,
+
## # A tibble: 10 × 69
+##    alternative.id      container.title   created deposited published.print doi  
+##    <chr>               <chr>             <chr>   <chr>     <chr>           <chr>
+##  1 10.21105/joss.04848 Journal of Open … 2023-0… 2023-01-… 2023-01-27      10.2…
+##  2 10.21105/joss.04848 Journal of Open … 2023-0… 2023-01-… 2023-01-27      10.2…
+##  3 10.21105/joss.04913 Journal of Open … 2023-0… 2023-08-… 2023-08-25      10.2…
+##  4 10.21105/joss.04913 Journal of Open … 2023-0… 2023-08-… 2023-08-25      10.2…
+##  5 10.21105/joss.05019 Journal of Open … 2023-0… 2023-05-… 2023-05-08      10.2…
+##  6 10.21105/joss.05019 Journal of Open … 2023-0… 2023-05-… 2023-05-08      10.2…
+##  7 10.21105/joss.05091 Journal of Open … 2023-0… 2023-03-… 2023-03-07      10.2…
+##  8 10.21105/joss.05091 Journal of Open … 2023-0… 2023-03-… 2023-03-07      10.2…
+##  9 10.21105/joss.05300 Journal of Open … 2023-0… 2023-05-… 2023-05-15      10.2…
+## 10 10.21105/joss.05300 Journal of Open … 2023-0… 2023-05-… 2023-05-15      10.2…
+## # ℹ 63 more variables: indexed <chr>, issn <chr>, issue <chr>, issued <chr>,
+## #   member <chr>, page <chr>, prefix <chr>, publisher <chr>, score <chr>,
+## #   source <chr>, reference.count <chr>, references.count <chr>,
 ## #   is.referenced.by.count <chr>, title <chr>, type <chr>, url <chr>,
-## #   volume <chr>, short.container.title <chr>, author <list>, …
+## # volume <chr>, short.container.title <chr>, author <list>, +## # citation_count <int>, openalex_id <chr>, affil_countries_all <chr>, +## # affil_countries_first <chr>, api_title <chr>, api_state <chr>, …
papers <- papers %>% dplyr::distinct()
 dim(papers)
## [1] 2714   69
@@ -6205,8 +6227,8 @@

Tabulate number of missing values

filter = list(position = 'top', clear = FALSE), options = list(scrollX = TRUE) )
-
- +
+

Number of published papers per month

@@ -6229,8 +6251,8 @@

Number of published papers per month

filter = list(position = 'top', clear = FALSE), options = list(scrollX = TRUE) ) -
- +
+

Number of published papers per year

@@ -6253,8 +6275,8 @@

Number of published papers per year

filter = list(position = 'top', clear = FALSE), options = list(scrollX = TRUE) ) -
- +
+

Fraction rejected papers

@@ -6270,7 +6292,7 @@

Fraction rejected papers

caption = dcap) + theme(axis.title = element_text(size = 15), axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) -

+

Citation distribution

@@ -6287,7 +6309,7 @@

Citation distribution

geom_bar(stat = "identity") + theme_minimal() + labs(x = "OpenAlex citation count", y = "Number of publications", caption = dcap) -

+

Most cited papers

@@ -6303,8 +6325,8 @@

Most cited papers

filter = list(position = 'top', clear = FALSE), options = list(scrollX = TRUE) ) -
- +
+

Citation count vs time since publication

@@ -6316,15 +6338,15 @@

Citation count vs time since publication

theme(axis.title = element_text(size = 15)), tooltip = c("label", "x", "y") ) -
## Warning: Removed 4 rows containing non-finite outside the scale range
+
## Warning: Removed 1 row containing non-finite outside the scale range
 ## (`stat_smooth()`).
## Warning: The following aesthetics were dropped during statistical transformation: label.
 ## ℹ This can happen when ggplot fails to infer the correct grouping structure in
 ##   the data.
 ## ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
 ##   variable into a factor?
-
- +
+

Power law of citation count within each half year

@@ -6338,9 +6360,9 @@

Power law of citation count within each half year

facet_wrap(~ halfyear, scales = "free") + theme_bw() + labs(x = "Index", y = "OpenAlex citation count", caption = dcap)
-
## Warning: Removed 4 rows containing missing values or values outside the scale range
+
## Warning: Removed 1 row containing missing values or values outside the scale range
 ## (`geom_point()`).
-

+

Pre-review/review time over time

@@ -6378,7 +6400,7 @@

Pre-review/review time over time

labs(x = "Date of pre-review opening", y = "Number of days in pre-review", caption = dcap) + theme(axis.title = element_text(size = 15))
-

+

ggplot(papers, aes(x = review_opened, y = as.numeric(days_in_rev))) + 
     geom_point() +
     geom_smooth(formula = y ~ x, method = "rolling_median", 
@@ -6387,7 +6409,7 @@ 

Pre-review/review time over time

labs(x = "Date of review opening", y = "Number of days in review", caption = dcap) + theme(axis.title = element_text(size = 15))
-

+

ggplot(papers, aes(x = prerev_opened, 
                    y = as.numeric(days_in_pre) + as.numeric(days_in_rev))) + 
     geom_point() +
@@ -6397,21 +6419,21 @@ 

Pre-review/review time over time

labs(x = "Date of pre-review opening", y = "Number of days in pre-review + review", caption = dcap) + theme(axis.title = element_text(size = 15))
-

+

Languages

Next, we consider the languages used by the submissions, both as -reported by Whedon and based on the information encoded in available +reported by JOSS and based on the information encoded in available GitHub repositories (for the latter, we also record the number of bytes of code written in each language). Note that a given submission can use multiple languages.

-
## Language information from Whedon
+
## Language information from JOSS
 sspl <- strsplit(papers$languages, ",")
 all_languages <- unique(unlist(sspl))
 langs <- do.call(dplyr::bind_rows, lapply(all_languages, function(l) {
     data.frame(language = l,
-               nbr_submissions_Whedon = sum(vapply(sspl, function(v) l %in% v, 0)))
+               nbr_submissions_JOSS_API = sum(vapply(sspl, function(v) l %in% v, 0)))
 }))
 
 ## Language information from GitHub software repos
@@ -6427,10 +6449,10 @@ 

Languages

dplyr::arrange(desc(nbr_bytes_GitHub)) langs <- dplyr::full_join(langs, langbytes, by = "language")
-
ggplot(langs %>% dplyr::arrange(desc(nbr_submissions_Whedon)) %>%
-           dplyr::filter(nbr_submissions_Whedon > 10) %>%
+
ggplot(langs %>% dplyr::arrange(desc(nbr_submissions_JOSS_API)) %>%
+           dplyr::filter(nbr_submissions_JOSS_API > 10) %>%
            dplyr::mutate(language = factor(language, levels = language)),
-       aes(x = language, y = nbr_submissions_Whedon)) + 
+       aes(x = language, y = nbr_submissions_JOSS_API)) + 
     geom_bar(stat = "identity") + 
     theme_bw() + 
     theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) + 
@@ -6443,8 +6465,8 @@ 

Languages

filter = list(position = 'top', clear = FALSE), options = list(scrollX = TRUE) )
-
- +
+
ggplot(langs, aes(x = nbr_repos_GitHub, y = nbr_bytes_GitHub)) + 
     geom_point() + scale_x_log10() + scale_y_log10() + geom_smooth() + 
     theme_bw() + 
@@ -6452,7 +6474,7 @@ 

Languages

y = "Total number of bytes of code\nwritten in the language", caption = dcap) + theme(axis.title = element_text(size = 15))
-

+

Association between number of citations and number of stars of the @@ -6467,8 +6489,8 @@

Association between number of citations and number of stars of the theme(axis.title = element_text(size = 15)), tooltip = c("label", "x", "y") ) -
- +
+

Distribution of time between GitHub repo creation and JOSS @@ -6490,7 +6512,7 @@

Distribution of time between JOSS acceptance and last commit

caption = dcap) + theme(axis.title = element_text(size = 15)) + facet_wrap(~ year(published.date), scales = "free_y")
-

+

Number of authors per paper

@@ -6568,8 +6590,8 @@

Number of authors vs number of contributors to the GitHub repo

theme(axis.title = element_text(size = 15)), tooltip = c("label", "x", "y") ) -
- +
+

Number of reviewers per paper

@@ -6604,8 +6626,8 @@

Most active reviewers

filter = list(position = 'top', clear = FALSE), options = list(scrollX = TRUE) ) -
- +
+

Number of papers per editor and year

@@ -6701,15 +6723,15 @@

Most common GitHub repo topics

colors = colors, scale = c(10, 0.1), random.color = TRUE, ordered.colors = FALSE, vfont = c("serif", "plain") ) -

+

DT::datatable(as.data.frame(topicfreq) %>% 
                   dplyr::rename(topic = a, nbr_repos = Freq) %>%
                   dplyr::arrange(desc(nbr_repos)),
               escape = FALSE, rownames = FALSE, 
               filter = list(position = 'top', clear = FALSE),
               options = list(scrollX = TRUE))
-
- +
+

Citation analysis

@@ -6737,7 +6759,7 @@

Get citing papers for each submission

citations <- NULL } dim(citations) -
## [1] 39442     8
+
## [1] 39675     8
if (!is.null(citations) && is.data.frame(citations) && "oci" %in% colnames(citations)) {
     citations <- citations %>% 
         dplyr::filter(!(oci %in% citations_archive$oci))
@@ -6797,20 +6819,20 @@ 

Summary statistics

by = c("doi" = "cited"))
## Total citation count OpenAlex
 sum(df0$citation_count, na.rm = TRUE)
-
## [1] 78294
+
## [1] 78300
## Total citation count Open Citations Corpus
 sum(df0$n, na.rm = TRUE)
## [1] 76059
## Ratio of total citation count Open Citations Corpus/OpenAlex
 sum(df0$n, na.rm = TRUE)/sum(df0$citation_count, na.rm = TRUE)
-
## [1] 0.9714538
+
## [1] 0.9713793
ggplot(df0, aes(x = citation_count, y = n)) + 
     geom_abline(slope = 1, intercept = 0) + 
     geom_point(size = 3, alpha = 0.5) + 
     labs(x = "OpenAlex citation count", y = "Open Citations Corpus citation count",
          caption = dcap) + 
     theme_bw()
-

+

## Zoom in
 ggplot(df0, aes(x = citation_count, y = n)) + 
     geom_abline(slope = 1, intercept = 0) + 
@@ -6819,7 +6841,7 @@ 

Summary statistics

caption = dcap) + theme_bw() + coord_cartesian(xlim = c(0, 75), ylim = c(0, 75))
-

+

## Number of journals citing JOSS papers
 length(unique(citations$container.title))
## [1] 8700
@@ -6840,8 +6862,8 @@

Most citing journals

escape = FALSE, rownames = FALSE, filter = list(position = 'top', clear = FALSE), options = list(scrollX = TRUE)) -
- +
+
plotly::ggplotly(
     ggplot(topcit, aes(x = nbr_citations_of_joss_papers, y = nbr_cited_joss_papers,
                        label = container.title)) + 
@@ -6851,8 +6873,8 @@ 

Most citing journals

labs(caption = dcap, x = "Number of citations of JOSS papers", y = "Number of cited JOSS papers") )
-
- +
+
plotly::ggplotly(
     ggplot(topcit, aes(x = nbr_citations_of_joss_papers, y = nbr_cited_joss_papers,
                        label = container.title)) + 
@@ -6863,8 +6885,8 @@ 

Most citing journals

labs(caption = dcap, x = "Number of citations of JOSS papers", y = "Number of cited JOSS papers") )
-
- +
+
write.table(topcit, file = "joss_submission_citations_byjournal.tsv",
             row.names = FALSE, col.names = TRUE, sep = "\t", quote = FALSE)
@@ -6874,48 +6896,48 @@

Save object

The tibble object with all data collected above is serialized to a file that can be downloaded and reused.

head(papers) %>% as.data.frame()
-
##        alternative.id                 container.title    created  deposited
-## 1 10.21105/joss.02583 Journal of Open Source Software 2020-09-26 2020-09-26
-## 2 10.21105/joss.02013 Journal of Open Source Software 2020-02-10 2020-02-10
-## 3 10.21105/joss.03917 Journal of Open Source Software 2021-12-02 2021-12-02
-## 4 10.21105/joss.06110 Journal of Open Source Software 2024-03-05 2024-03-05
-## 5 10.21105/joss.04859 Journal of Open Source Software 2022-11-27 2022-11-27
-## 6 10.21105/joss.06156 Journal of Open Source Software 2024-03-28 2024-03-28
+
##        alternative.id                     container.title    created  deposited
+## 1 10.21105/joss.02752     Journal of Open Source Software 2021-10-05 2021-10-05
+## 2 10.21105/joss.03917     Journal of Open Source Software 2021-12-02 2021-12-02
+## 3 10.21105/joss.06220     Journal of Open Source Software 2024-07-15 2024-07-15
+## 4 10.21105/joss.02439     Journal of Open Source Software 2020-07-30 2020-07-30
+## 5 10.21105/joss.01411     Journal of Open Source Software 2019-12-18 2019-12-18
+## 6 10.21105/joss.00338 The Journal of Open Source Software 2017-08-15 2017-10-23
 ##   published.print                 doi    indexed      issn issue     issued
-## 1      2020-09-26 10.21105/joss.02583 2022-03-28 2475-9066    53 2020-09-26
-## 2      2020-02-10 10.21105/joss.02013 2023-05-19 2475-9066    46 2020-02-10
-## 3      2021-12-02 10.21105/joss.03917 2022-03-30 2475-9066    68 2021-12-02
-## 4      2024-03-05 10.21105/joss.06110 2024-03-06 2475-9066    95 2024-03-05
-## 5      2022-11-27 10.21105/joss.04859 2024-03-06 2475-9066    79 2022-11-27
-## 6      2024-03-28 10.21105/joss.06156 2024-03-29 2475-9066    95 2024-03-28
+## 1      2021-10-05 10.21105/joss.02752 2023-11-28 2475-9066    66 2021-10-05
+## 2      2021-12-02 10.21105/joss.03917 2022-03-30 2475-9066    68 2021-12-02
+## 3      2024-07-15 10.21105/joss.06220 2024-07-16 2475-9066    99 2024-07-15
+## 4      2020-07-30 10.21105/joss.02439 2024-07-16 2475-9066    51 2020-07-30
+## 5      2019-12-18 10.21105/joss.01411 2024-08-19 2475-9066    44 2019-12-18
+## 6      2017-08-15 10.21105/joss.00338 2024-08-19 2475-9066    16 2017-08-15
 ##   member page   prefix        publisher score   source reference.count
-## 1   8722 2583 10.21105 The Open Journal     0 Crossref              28
-## 2   8722 2013 10.21105 The Open Journal     0 Crossref              12
-## 3   8722 3917 10.21105 The Open Journal     0 Crossref              34
-## 4   8722 6110 10.21105 The Open Journal     0 Crossref              28
-## 5   8722 4859 10.21105 The Open Journal     0 Crossref              18
-## 6   8722 6156 10.21105 The Open Journal     0 Crossref              22
+## 1   8722 2752 10.21105 The Open Journal     0 Crossref              13
+## 2   8722 3917 10.21105 The Open Journal     0 Crossref              34
+## 3   8722 6220 10.21105 The Open Journal     0 Crossref               6
+## 4   8722 2439 10.21105 The Open Journal     0 Crossref              15
+## 5   8722 1411 10.21105 The Open Journal     0 Crossref               2
+## 6   8722  338 10.21105 The Open Journal     0 Crossref               0
 ##   references.count is.referenced.by.count
-## 1               28                      0
-## 2               12                      6
-## 3               34                      0
-## 4               28                      0
-## 5               18                      2
-## 6               22                      0
-##                                                                                                                                                     title
-## 1                                                                 emba: R package for analysis and visualization of biomarkers in boolean model ensembles
-## 2 thresholdmodeling: A Python package for modeling excesses over a threshold using the Peak-Over-Threshold Method and the Generalized Pareto Distribution
-## 3                                                  CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX
-## 4                                                                    PDOPT: A Python library for Probabilistic Design space\nexploration and OPTimisation
-## 5                                                                                                          bmiptools: BioMaterials Image Processing Tools
-## 6                                                                                                    simChef: High-quality data science simulations in\nR
+## 1               13                      1
+## 2               34                      0
+## 3                6                      0
+## 4               15                      4
+## 5                2                      2
+## 6                0                      8
+##                                                                                                            title
+## 1           The o80 C++ templated toolbox: Designing customized Python APIs for synchronizing realtime processes
+## 2         CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX
+## 3 ddtlcm: An R package for overcoming weak separation in\nBayesian latent class analysis via tree-regularization
+## 4                                         htmldate: A Python package to extract publication dates from web pages
+## 5                                      “Blaster” – a graphical user interface for common sequence analysis tools
+## 6                                              RefManageR: Import and Manage BibTeX and BibLaTeX References in R
 ##              type                                   url volume
-## 1 journal-article http://dx.doi.org/10.21105/joss.02583      5
-## 2 journal-article http://dx.doi.org/10.21105/joss.02013      5
-## 3 journal-article http://dx.doi.org/10.21105/joss.03917      6
-## 4 journal-article http://dx.doi.org/10.21105/joss.06110      9
-## 5 journal-article http://dx.doi.org/10.21105/joss.04859      7
-## 6 journal-article http://dx.doi.org/10.21105/joss.06156      9
+## 1 journal-article http://dx.doi.org/10.21105/joss.02752      6
+## 2 journal-article http://dx.doi.org/10.21105/joss.03917      6
+## 3 journal-article http://dx.doi.org/10.21105/joss.06220      9
+## 4 journal-article http://dx.doi.org/10.21105/joss.02439      5
+## 5 journal-article http://dx.doi.org/10.21105/joss.01411      4
+## 6 journal-article http://dx.doi.org/10.21105/joss.00338      2
 ##   short.container.title
 ## 1                  JOSS
 ## 2                  JOSS
@@ -6923,132 +6945,132 @@ 

Save object

## 4 JOSS ## 5 JOSS ## 6 JOSS -## author -## 1 http://orcid.org/0000-0002-3609-8674, http://orcid.org/0000-0002-1171-9876, http://orcid.org/0000-0002-3357-425X, FALSE, FALSE, FALSE, John, Martin, Åsmund, Zobolas, Kuiper, Flobak, first, additional, additional -## 2 http://orcid.org/0000-0002-5829-7711, http://orcid.org/0000-0003-0170-6083, http://orcid.org/0000-0002-8166-5666, FALSE, FALSE, FALSE, Iago, Antônio, Marcus, Lemos, Lima, Duarte, first, additional, additional -## 3 http://orcid.org/0000-0003-2217-4768, FALSE, Shailesh, Kumar, first -## 4 http://orcid.org/0000-0002-3064-3387, http://orcid.org/0000-0003-3392-283X, FALSE, FALSE, Andrea, Timoleon, Spinelli, Kipouros, first, additional -## 5 Luca, Richard, Luca, Curcuraci, Weinkamer, Bertinetti, first, additional, additional -## 6 http://orcid.org/0000-0003-3297-681X, http://orcid.org/0000-0002-8079-6867, http://orcid.org/0000-0001-7935-9945, http://orcid.org/0000-0002-4850-2507, http://orcid.org/0000-0002-8888-4060, FALSE, FALSE, FALSE, FALSE, FALSE, James, Tiffany, Corrine F., Philippe, Bin, Duncan, Tang, Elliott, Boileau, Yu, first, additional, additional, additional, additional +## author +## 1 Vincent, Maximilien, Felix, Manuel, Jean-Claude, Simon, Dieter, Berenz, Naveau, Widmaier, Wüthrich, Passy, Guist, Büchler, first, additional, additional, additional, additional, additional, additional +## 2 http://orcid.org/0000-0003-2217-4768, FALSE, Shailesh, Kumar, first +## 3 http://orcid.org/0000-0002-2264-8006, NA, NA, http://orcid.org/0000-0001-7582-669X, FALSE, NA, NA, FALSE, Mengbing, Bolin, Briana, Zhenke, Li, Wu, Stephenson, Wu, first, additional, additional, additional +## 4 http://orcid.org/0000-0002-8079-8694, FALSE, Adrien, Barbaresi, first +## 5 http://orcid.org/0000-0003-0536-835X, http://orcid.org/0000-0001-6603-4930, FALSE, FALSE, Stefanie, Dimitar, Lueck, Douchkov, first, additional +## 6 http://orcid.org/0000-0002-7891-9645, FALSE, Mathew, W. McLean, first ## citation_count openalex_id affil_countries_all -## 1 0 https://openalex.org/W3088617247 NO -## 2 10 https://openalex.org/W3005450240 BR -## 3 2 https://openalex.org/W4200596790 IN -## 4 0 https://openalex.org/W4392457007 GB -## 5 2 https://openalex.org/W4310006749 DE -## 6 1 https://openalex.org/W4393261317 +## 1 2 https://openalex.org/W3204758414 DE +## 2 2 https://openalex.org/W4200596790 IN +## 3 0 https://openalex.org/W4400646610 +## 4 8 https://openalex.org/W3046342650 DE +## 5 2 https://openalex.org/W2994730148 DE +## 6 9 https://openalex.org/W2750557984 ## affil_countries_first -## 1 NO -## 2 BR -## 3 IN -## 4 GB +## 1 DE +## 2 IN +## 3 +## 4 DE ## 5 DE ## 6 -## api_title -## 1 emba: R package for analysis and visualization of biomarkers in boolean model ensembles -## 2 thresholdmodeling: A Python package for modeling excesses over a threshold using the Peak-Over-Threshold Method and the Generalized Pareto Distribution -## 3 CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX -## 4 PDOPT: A Python library for Probabilistic Design space exploration and OPTimisation -## 5 bmiptools: BioMaterials Image Processing Tools -## 6 simChef: High-quality data science simulations in R -## api_state editor reviewers nbr_reviewers -## 1 accepted @mikldk @neerajdhanraj,@edifice1989 2 -## 2 accepted @drvinceknight @bahung,@kellieotto 2 -## 3 accepted @pdebuyl @Saran-nns,@mirca 2 -## 4 accepted @kyleniemeyer @e-dub,@jbussemaker 2 -## 5 accepted @AoifeHughes @taw10,@mooniean 2 -## 6 accepted @Kevin-Mattheus-Moerman @rcannood,@Abinashbunty 2 -## repo_url review_issue_id -## 1 https://github.com/bblodfon/emba 2583 -## 2 https://github.com/iagolemos1/thresholdmodeling 2013 -## 3 https://github.com/carnotresearch/cr-sparse 3917 -## 4 https://github.com/spinjet/pdopt-code 6110 -## 5 https://gitlab.mpikg.mpg.de/curcuraci/bmiptools 4859 -## 6 https://github.com/Yu-Group/simChef 6156 -## prereview_issue_id languages archive_doi -## 1 2534 R https://doi.org/10.5281/zenodo.4043085 -## 2 1999 Python https://doi.org/10.5281/zenodo.3661338 -## 3 3913 Python https://doi.org/10.5281/zenodo.5749792 -## 4 6042 Python https://doi.org/10.5281/zenodo.10732017 -## 5 4801 Python https://doi.org/10.5281/zenodo.7337808 -## 6 5642 R,JavaScript https://doi.org/10.5281/zenodo.10845638 -## review_title -## 1 emba: R package for analysis and visualization of biomarkers in boolean model ensembles -## 2 thresholdmodeling: A Python package for modeling excesses over a threshold using the Peak-Over-Threshold Method and the Generalized Pareto Distribution -## 3 CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX -## 4 PDOPT: A Python library for Probabilistic Design space exploration and OPTimisation. -## 5 bmiptools: BioMaterials Image Processing TOOLS -## 6 simChef: High-quality data science simulations in R +## api_title +## 1 The o80 C++ templated toolbox: Designing customized Python APIs for synchronizing realtime processes +## 2 CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX +## 3 ddtlcm: An R package for overcoming weak separation in Bayesian latent class analysis via tree-regularization +## 4 htmldate: A Python package to extract publication dates from web pages +## 5 “Blaster” – a graphical user interface for common sequence analysis tools +## 6 RefManageR: Import and Manage BibTeX and BibLaTeX References in R +## api_state editor reviewers nbr_reviewers +## 1 accepted @gkthiruvathukal @traversaro,@vissarion 2 +## 2 accepted @pdebuyl @Saran-nns,@mirca 2 +## 3 accepted @Nikoleta-v3 @jamesuanhoro,@larryshamalama 2 +## 4 accepted @danielskatz @geoffbacon,@proycon 2 +## 5 accepted @lpantano @vbarrera 1 +## 6 accepted @karthik @arfon 1 +## repo_url review_issue_id +## 1 https://github.com/intelligent-soft-robots/o80 2752 +## 2 https://github.com/carnotresearch/cr-sparse 3917 +## 3 https://github.com/limengbinggz/ddtlcm 6220 +## 4 https://github.com/adbar/htmldate 2439 +## 5 https://github.com/snowformatics/BlasterQt 1411 +## 6 https://github.com/mwmclean/RefManageR 338 +## prereview_issue_id languages archive_doi +## 1 2459 C++ https://doi.org/10.5281/zenodo.5357876 +## 2 3913 Python https://doi.org/10.5281/zenodo.5749792 +## 3 5892 R https://doi.org/10.5281/zenodo.12711232 +## 4 2360 Python https://doi.org/10.5281/zenodo.3966235 +## 5 1381 Python https://doi.org/10.5281/zenodo.3576574 +## 6 269 R https://doi.org/10.5281/zenodo.835547 +## review_title +## 1 The o80 C++ templated toolbox: Designing customized Python APIs for synchronizing realtime processes +## 2 CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX +## 3 ddtlcm: An R package for overcoming weak separation in Bayesian latent class analysis via tree-regularization +## 4 htmldate: A Python package to extract publication dates from web pages +## 5 “Blaster” – a graphical user interface for common sequences analysis tools +## 6 RefManageR: Import and Manage BibTeX and BibLaTeX References in R ## review_number review_state review_opened review_closed review_ncomments -## 1 2583 closed 2020-08-19 2020-09-26 76 -## 2 2013 closed 2020-01-13 2020-02-10 69 -## 3 3917 closed 2021-11-16 2021-12-02 59 -## 4 6110 closed 2023-12-01 2024-03-05 78 -## 5 4859 closed 2022-10-17 2022-11-27 50 -## 6 6156 closed 2023-12-18 2024-03-30 63 -## review_labels -## 1 accepted,TeX,R,recommend-accept,published -## 2 accepted,recommend-accept,published -## 3 accepted,TeX,Shell,Python,recommend-accept,published -## 4 accepted,TeX,Python,published,Track: 3 (PE) -## 5 accepted,TeX,Python,recommend-accept,published,Track: 2 (BCM) -## 6 accepted,TeX,R,CSS,JavaScript,recommend-accept,published,Track: 5 (DSAIS) -## prerev_title -## 1 emba: R package for analysis and visualization of biomarkers in boolean model ensembles -## 2 thresholdmodeling: A Python package for modeling excesses over a threshold using the Peak-Over-Threshold Method and the Generalized Pareto Distribution -## 3 CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX -## 4 PDOPT: A Python library for Probabilistic Design space exploration and OPTimisation. -## 5 bmiptools: BioMaterials Image Processing TOOLS -## 6 simChef: High-quality data science simulations in R +## 1 2752 closed 2020-10-15 2021-10-05 106 +## 2 3917 closed 2021-11-16 2021-12-02 59 +## 3 6220 closed 2024-01-12 2024-07-15 75 +## 4 2439 closed 2020-07-04 2020-07-30 42 +## 5 1411 closed 2019-04-24 2019-12-18 59 +## 6 338 closed 2017-07-27 2017-08-15 7 +## review_labels +## 1 accepted,Shell,C++,CMake,recommend-accept,published +## 2 accepted,TeX,Shell,Python,recommend-accept,published +## 3 accepted,TeX,R,recommend-accept,published,waitlisted,Track: 5 (DSAIS) +## 4 accepted,recommend-accept,published +## 5 accepted,recommend-accept,published +## 6 accepted,rOpenSci,recommend-accept,published +## prerev_title +## 1 The o80 C++ templated toolbox: Designing customized Python APIs for synchronizing realtime processes +## 2 CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX +## 3 ddtlcm: An R package for overcoming weak separation in Bayesian latent class analysis via tree-regularization +## 4 htmldate: A Python package to extract publication dates from web pages +## 5 “Blaster” – a graphical user interface for common sequences analysis tools +## 6 RefManageR: Import and Manage BibTeX and BibLaTeX References in R ## prerev_state prerev_opened prerev_closed prerev_ncomments -## 1 closed 2020-07-28 2020-08-19 32 -## 2 closed 2020-01-07 2020-01-13 37 -## 3 closed 2021-11-12 2021-11-16 29 -## 4 closed 2023-11-09 2023-12-01 23 -## 5 closed 2022-09-27 2022-10-17 38 -## 6 closed 2023-07-10 2023-12-18 45 -## prerev_labels days_in_pre days_in_rev to_review -## 1 TeX,R 22 days 38 days TRUE -## 2 TeX,Python 6 days 28 days TRUE -## 3 TeX,Shell,Python 4 days 16 days TRUE -## 4 TeX,Python,Track: 3 (PE) 22 days 95 days TRUE -## 5 TeX,Python,waitlisted,Track: 2 (BCM) 20 days 41 days TRUE -## 6 R,CSS,JavaScript,Track: 5 (DSAIS) 161 days 103 days TRUE +## 1 closed 2020-07-09 2020-10-15 44 +## 2 closed 2021-11-12 2021-11-16 29 +## 3 closed 2023-09-28 2024-01-12 31 +## 4 closed 2020-06-18 2020-07-04 32 +## 5 closed 2019-04-14 2019-04-24 14 +## 6 closed 2017-05-29 2017-07-27 16 +## prerev_labels days_in_pre days_in_rev to_review +## 1 Shell,C++,CMake 98 days 355 days TRUE +## 2 TeX,Shell,Python 4 days 16 days TRUE +## 3 TeX,R,waitlisted,Track: 5 (DSAIS) 106 days 185 days TRUE +## 4 Python 16 days 26 days TRUE +## 5 TeX,Python 10 days 238 days TRUE +## 6 rOpenSci 59 days 19 days TRUE ## repo_created repo_updated repo_pushed repo_nbr_stars repo_language -## 1 2019-06-03 2023-04-26 2023-04-26 0 R -## 2 2019-12-27 2024-08-15 2020-12-24 31 Python -## 3 2020-12-22 2024-10-08 2023-10-17 87 Jupyter Notebook -## 4 2022-07-19 2024-03-29 2024-06-18 3 Python -## 5 <NA> <NA> <NA> NA <NA> -## 6 2021-07-21 2024-09-03 2024-03-20 20 R +## 1 2020-03-31 2024-07-08 2024-07-08 8 C++ +## 2 2020-12-22 2024-10-08 2023-10-17 87 Jupyter Notebook +## 3 2023-05-09 2024-07-26 2024-07-26 5 HTML +## 4 2017-08-24 2024-10-22 2024-10-22 120 Python +## 5 2014-09-17 2023-06-05 2021-03-26 2 Python +## 6 2013-10-26 2024-04-29 2024-10-16 114 R ## repo_languages_bytes -## 1 R:211165,TeX:45603 -## 2 Python:37812,TeX:3472 -## 3 Jupyter Notebook:1232323,Python:632797,TeX:18209,Shell:187 -## 4 Python:252392 -## 5 <NA> -## 6 R:619055,TeX:6028,CSS:320,JavaScript:221 +## 1 C++:194642,CMake:4215,TeX:3739 +## 2 Jupyter Notebook:1232323,Python:632797,TeX:18209,Shell:187 +## 3 HTML:340152,R:161604,TeX:3207 +## 4 Python:166494 +## 5 Python:8558102,TeX:2886 +## 6 R:428934,TeX:242358,HTML:8160 ## repo_topics -## 1 r,r-package,biomarkers,ensemble-models -## 2 -## 3 sparse-representations,jax,wavelets,convex-optimization,linear-operators,compressive-sensing,functional-programming,l1-regularization,sparse-linear-systems,lasso,sparse-bayesian-learning,basis-pursuit -## 4 design-space-exploration,multi-disciplinary,optimization,set-based-design -## 5 <NA> -## 6 +## 1 +## 2 sparse-representations,jax,wavelets,convex-optimization,linear-operators,compressive-sensing,functional-programming,l1-regularization,sparse-linear-systems,lasso,sparse-bayesian-learning,basis-pursuit +## 3 +## 4 metadata-extraction,date-parser,html-parsing,entity-extraction,natural-language-processing,nlp,web-scraping,webscraping,date,datetime,metadata,information-extraction,parsing,time,lxml +## 5 +## 6 r,rstats,r-package,peer-reviewed ## repo_license repo_nbr_contribs repo_nbr_contribs_2ormore repo_info_obtained -## 1 other 2 1 2024-10-23 -## 2 lgpl-3.0 4 2 2024-10-23 -## 3 apache-2.0 2 1 2024-10-23 -## 4 mit 1 1 2024-10-23 -## 5 <NA> NA NA <NA> -## 6 gpl-3.0 3 3 2024-10-23 +## 1 bsd-3-clause 4 3 2024-10-23 +## 2 apache-2.0 2 1 2024-10-23 +## 3 other 4 3 2024-10-23 +## 4 apache-2.0 21 10 2024-10-23 +## 5 mit 1 1 2024-10-23 +## 6 other 8 2 2024-10-23 ## published.date halfyear nbr_authors -## 1 2020-09-26 2020H2 3 -## 2 2020-02-10 2020H1 3 -## 3 2021-12-02 2021H2 1 -## 4 2024-03-05 2024H1 2 -## 5 2022-11-27 2022H2 3 -## 6 2024-03-28 2024H1 5
+## 1 2021-10-05 2021H2 7 +## 2 2021-12-02 2021H2 1 +## 3 2024-07-15 2024H2 4 +## 4 2020-07-30 2020H2 1 +## 5 2019-12-18 2019H2 2 +## 6 2017-08-15 2017H2 1
saveRDS(papers, file = "joss_submission_analytics.rds")

To read the current version of this file directly from GitHub, use the following code:

diff --git a/joss-submission-analytics_files/figure-html/acceptance-to-commit-1.pdf b/joss-submission-analytics_files/figure-html/acceptance-to-commit-1.pdf index f1e9b77..8056d26 100644 Binary files a/joss-submission-analytics_files/figure-html/acceptance-to-commit-1.pdf and b/joss-submission-analytics_files/figure-html/acceptance-to-commit-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/acceptance-to-commit-1.png b/joss-submission-analytics_files/figure-html/acceptance-to-commit-1.png index dc4a501..4c875aa 100644 Binary files a/joss-submission-analytics_files/figure-html/acceptance-to-commit-1.png and b/joss-submission-analytics_files/figure-html/acceptance-to-commit-1.png differ diff --git a/joss-submission-analytics_files/figure-html/citation-distribution-1.pdf b/joss-submission-analytics_files/figure-html/citation-distribution-1.pdf index 4d5c57c..69ab3b2 100644 Binary files a/joss-submission-analytics_files/figure-html/citation-distribution-1.pdf and b/joss-submission-analytics_files/figure-html/citation-distribution-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/citation-distribution-1.png b/joss-submission-analytics_files/figure-html/citation-distribution-1.png index 240bfa3..3a9fc88 100644 Binary files a/joss-submission-analytics_files/figure-html/citation-distribution-1.png and b/joss-submission-analytics_files/figure-html/citation-distribution-1.png differ diff --git a/joss-submission-analytics_files/figure-html/citation-plot-crossref-1.pdf b/joss-submission-analytics_files/figure-html/citation-plot-crossref-1.pdf index 7d1e723..9e9d24e 100644 Binary files a/joss-submission-analytics_files/figure-html/citation-plot-crossref-1.pdf and b/joss-submission-analytics_files/figure-html/citation-plot-crossref-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/citation-plot-crossref-1.png b/joss-submission-analytics_files/figure-html/citation-plot-crossref-1.png index e983509..ed0a2a5 100644 Binary files a/joss-submission-analytics_files/figure-html/citation-plot-crossref-1.png and b/joss-submission-analytics_files/figure-html/citation-plot-crossref-1.png differ diff --git a/joss-submission-analytics_files/figure-html/citation-plot-crossref-2.pdf b/joss-submission-analytics_files/figure-html/citation-plot-crossref-2.pdf index d537975..32ab665 100644 Binary files a/joss-submission-analytics_files/figure-html/citation-plot-crossref-2.pdf and b/joss-submission-analytics_files/figure-html/citation-plot-crossref-2.pdf differ diff --git a/joss-submission-analytics_files/figure-html/citation-plot-crossref-2.png b/joss-submission-analytics_files/figure-html/citation-plot-crossref-2.png index e9bc90a..d650a49 100644 Binary files a/joss-submission-analytics_files/figure-html/citation-plot-crossref-2.png and b/joss-submission-analytics_files/figure-html/citation-plot-crossref-2.png differ diff --git a/joss-submission-analytics_files/figure-html/creation-to-submission-1.pdf b/joss-submission-analytics_files/figure-html/creation-to-submission-1.pdf index 040773f..ba094bb 100644 Binary files a/joss-submission-analytics_files/figure-html/creation-to-submission-1.pdf and b/joss-submission-analytics_files/figure-html/creation-to-submission-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/github-topics-1.pdf b/joss-submission-analytics_files/figure-html/github-topics-1.pdf index c6d9a8d..2c4971b 100644 Binary files a/joss-submission-analytics_files/figure-html/github-topics-1.pdf and b/joss-submission-analytics_files/figure-html/github-topics-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/github-topics-1.png b/joss-submission-analytics_files/figure-html/github-topics-1.png index d72d0b6..2a4316c 100644 Binary files a/joss-submission-analytics_files/figure-html/github-topics-1.png and b/joss-submission-analytics_files/figure-html/github-topics-1.png differ diff --git a/joss-submission-analytics_files/figure-html/language-bytes-plot-1.pdf b/joss-submission-analytics_files/figure-html/language-bytes-plot-1.pdf index 0e602d8..cbb77af 100644 Binary files a/joss-submission-analytics_files/figure-html/language-bytes-plot-1.pdf and b/joss-submission-analytics_files/figure-html/language-bytes-plot-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/language-bytes-plot-1.png b/joss-submission-analytics_files/figure-html/language-bytes-plot-1.png index dc0c0ea..3c56d0d 100644 Binary files a/joss-submission-analytics_files/figure-html/language-bytes-plot-1.png and b/joss-submission-analytics_files/figure-html/language-bytes-plot-1.png differ diff --git a/joss-submission-analytics_files/figure-html/language-plot-1.pdf b/joss-submission-analytics_files/figure-html/language-plot-1.pdf index c4a515a..cb7f85c 100644 Binary files a/joss-submission-analytics_files/figure-html/language-plot-1.pdf and b/joss-submission-analytics_files/figure-html/language-plot-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/nbr-authors-1.pdf b/joss-submission-analytics_files/figure-html/nbr-authors-1.pdf index 2b61d5e..f6c30c5 100644 Binary files a/joss-submission-analytics_files/figure-html/nbr-authors-1.pdf and b/joss-submission-analytics_files/figure-html/nbr-authors-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/nbr-authors-all-1.pdf b/joss-submission-analytics_files/figure-html/nbr-authors-all-1.pdf index ab07cfe..70c726f 100644 Binary files a/joss-submission-analytics_files/figure-html/nbr-authors-all-1.pdf and b/joss-submission-analytics_files/figure-html/nbr-authors-all-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/nbr-reviewers-1.pdf b/joss-submission-analytics_files/figure-html/nbr-reviewers-1.pdf index e66a5de..b6ea46c 100644 Binary files a/joss-submission-analytics_files/figure-html/nbr-reviewers-1.pdf and b/joss-submission-analytics_files/figure-html/nbr-reviewers-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/papers-month-1.pdf b/joss-submission-analytics_files/figure-html/papers-month-1.pdf index 3a52943..d93d59c 100644 Binary files a/joss-submission-analytics_files/figure-html/papers-month-1.pdf and b/joss-submission-analytics_files/figure-html/papers-month-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/papers-per-editor-1.pdf b/joss-submission-analytics_files/figure-html/papers-per-editor-1.pdf index 8ec6ca0..b0cc0ad 100644 Binary files a/joss-submission-analytics_files/figure-html/papers-per-editor-1.pdf and b/joss-submission-analytics_files/figure-html/papers-per-editor-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/papers-year-1.pdf b/joss-submission-analytics_files/figure-html/papers-year-1.pdf index 7a90a97..30b787e 100644 Binary files a/joss-submission-analytics_files/figure-html/papers-year-1.pdf and b/joss-submission-analytics_files/figure-html/papers-year-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/plot-repo-license-1.pdf b/joss-submission-analytics_files/figure-html/plot-repo-license-1.pdf index d9c4323..df7fd3b 100644 Binary files a/joss-submission-analytics_files/figure-html/plot-repo-license-1.pdf and b/joss-submission-analytics_files/figure-html/plot-repo-license-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/plot-repo-license-2.pdf b/joss-submission-analytics_files/figure-html/plot-repo-license-2.pdf index 5752d25..5d33ee3 100644 Binary files a/joss-submission-analytics_files/figure-html/plot-repo-license-2.pdf and b/joss-submission-analytics_files/figure-html/plot-repo-license-2.pdf differ diff --git a/joss-submission-analytics_files/figure-html/power-law-citations-1.pdf b/joss-submission-analytics_files/figure-html/power-law-citations-1.pdf index 00f3e16..5eb02de 100644 Binary files a/joss-submission-analytics_files/figure-html/power-law-citations-1.pdf and b/joss-submission-analytics_files/figure-html/power-law-citations-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/power-law-citations-1.png b/joss-submission-analytics_files/figure-html/power-law-citations-1.png index 3ed8acd..7ae42d6 100644 Binary files a/joss-submission-analytics_files/figure-html/power-law-citations-1.png and b/joss-submission-analytics_files/figure-html/power-law-citations-1.png differ diff --git a/joss-submission-analytics_files/figure-html/rejections-1.pdf b/joss-submission-analytics_files/figure-html/rejections-1.pdf index 98fb2cb..9eb2061 100644 Binary files a/joss-submission-analytics_files/figure-html/rejections-1.pdf and b/joss-submission-analytics_files/figure-html/rejections-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/rejections-1.png b/joss-submission-analytics_files/figure-html/rejections-1.png index 55d76f4..0d09242 100644 Binary files a/joss-submission-analytics_files/figure-html/rejections-1.png and b/joss-submission-analytics_files/figure-html/rejections-1.png differ diff --git a/joss-submission-analytics_files/figure-html/repo-license-1.pdf b/joss-submission-analytics_files/figure-html/repo-license-1.pdf index a6670aa..eb08b50 100644 Binary files a/joss-submission-analytics_files/figure-html/repo-license-1.pdf and b/joss-submission-analytics_files/figure-html/repo-license-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/review-time-1.pdf b/joss-submission-analytics_files/figure-html/review-time-1.pdf index cfc2cc6..c37ca37 100644 Binary files a/joss-submission-analytics_files/figure-html/review-time-1.pdf and b/joss-submission-analytics_files/figure-html/review-time-1.pdf differ diff --git a/joss-submission-analytics_files/figure-html/review-time-1.png b/joss-submission-analytics_files/figure-html/review-time-1.png index 64d9874..66fb1e5 100644 Binary files a/joss-submission-analytics_files/figure-html/review-time-1.png and b/joss-submission-analytics_files/figure-html/review-time-1.png differ diff --git a/joss-submission-analytics_files/figure-html/review-time-2.pdf b/joss-submission-analytics_files/figure-html/review-time-2.pdf index e9e6c83..fffb840 100644 Binary files a/joss-submission-analytics_files/figure-html/review-time-2.pdf and b/joss-submission-analytics_files/figure-html/review-time-2.pdf differ diff --git a/joss-submission-analytics_files/figure-html/review-time-2.png b/joss-submission-analytics_files/figure-html/review-time-2.png index b23fd71..8360d10 100644 Binary files a/joss-submission-analytics_files/figure-html/review-time-2.png and b/joss-submission-analytics_files/figure-html/review-time-2.png differ diff --git a/joss-submission-analytics_files/figure-html/review-time-3.pdf b/joss-submission-analytics_files/figure-html/review-time-3.pdf index 6cdd480..f36dda9 100644 Binary files a/joss-submission-analytics_files/figure-html/review-time-3.pdf and b/joss-submission-analytics_files/figure-html/review-time-3.pdf differ diff --git a/joss-submission-analytics_files/figure-html/review-time-3.png b/joss-submission-analytics_files/figure-html/review-time-3.png index df8a018..67bc529 100644 Binary files a/joss-submission-analytics_files/figure-html/review-time-3.png and b/joss-submission-analytics_files/figure-html/review-time-3.png differ diff --git a/joss_submission_analytics.rds b/joss_submission_analytics.rds index b394564..73f4677 100644 Binary files a/joss_submission_analytics.rds and b/joss_submission_analytics.rds differ