diff --git a/DESCRIPTION b/DESCRIPTION
index 6da5008..66bf365 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -2,7 +2,7 @@ Type: Package
Package: refsplitr
Title: author name disambiguation, author georeferencing, and mapping of
coauthorship networks with 'Web of Science' data
-Version: 1.2.2
+Version: 1.2.3
Authors@R:
c(person(given = "Auriel M.V.",
family = "Fournier",
diff --git a/NEWS.md b/NEWS.md
index 8fb15f0..e135b70 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -2,6 +2,14 @@
+refsplitr 1.2.3 (2026-06-16)
+=========================
+
+
+### MINOR IMPROVEMENTS
+ * Further refining of the algorithm to match authors under a single group_id.
+
+
refsplitr 1.2.2 (2026-06-16)
=========================
diff --git a/R/authors_match.R b/R/authors_match.R
index 0031fe2..b4f7f3a 100644
--- a/R/authors_match.R
+++ b/R/authors_match.R
@@ -67,7 +67,56 @@ authors_match <- function(data){
# n_n |> group_by(groupID) |> summarize(n=n_distinct(OI)) |> filter(n>1)
#
# Now match by much less used RI
- unique_ri <- n_n$RI[!is.na(n_n$RI) & is.na(n_n$groupID)]
+ & is.na(n_n$OI)
+
+ # n_n |> mutate_all(trimws) |> group_by(OI) |> summarize(n=n_distinct(RI)) |> filter(n>1) |> summarize(n_distinct(OI)). arrange(desc(n))
+ # n_n |> mutate_all(trimws) |> group_by(RI) |> summarize(n=n_distinct(OI)) |> filter(n>1) |> summarize(n_distinct(RI))
+ # n_n |> mutate_all(trimws) |> group_by(RI) |> summarize(n=n_distinct(OI)) |> filter(n<=1) |> tally()
+
+# test --------------------------------------------------------------------
+
+
+ # RI<-c("1","2","3","3","4")
+ # OI<-c("a","a","b","c","d")
+ # df<-data.frame(RI,OI)
+ # # Count how many times each OI value appears
+ # oi_counts <- table(df$OI)
+ # # Find OI values with more than one RI
+ # multiple_ri <- names(oi_counts[oi_counts > 1])
+ # rows_to_remove_oi <- which(df$OI %in% multiple_ri)
+ # df_clean <- df[-rows_to_remove_oi, ]
+ # # Find OI values with more than one RI
+ # ri_counts <- table(df_clean$RI)
+ # multiple_oi <- names(ri_counts[ri_counts > 1])
+ # # Identify rows to remove
+ # rows_to_remove_ri <- which(df_clean$RI %in% multiple_oi)
+ # # Remove those rows
+ # df_clean <- df_clean[-rows_to_remove_ri, ]
+
+
+
+
+ # # Count how many times each OI value appears
+ # oi_counts <- table(n_n$OI)
+ # # Find OI values with more than one RI
+ # multiple_ri <- names(oi_counts[oi_counts > 1])
+ # # ID the rows to remove
+ # rows_to_remove_oi <- which(n_n$OI %in% multiple_ri)
+ # # remove them
+ # n_n_clean <- n_n[-rows_to_remove_oi, ]
+ # # Find RI values with more than one OI
+ # ri_counts <- table(n_n_clean$RI)
+ # multiple_oi <- names(ri_counts[ri_counts > 1])
+ # # Identify rows to remove
+ # rows_to_remove_ri <- which(n_n_clean$RI %in% multiple_oi)
+ # # Remove those rows
+ # n_n_clean <-n_n_clean[-rows_to_remove_ri, ]
+
+
+
+
+ unique_ri <- n_n_clean$RI[!is.na(n_n_clean$RI) & is.na(n_n_clean$groupID)]
+ # unique_ri <- n_n$RI[!is.na(n_n$RI) & is.na(n_n$groupID)]
unique_ri <- names(table(unique_ri))[table(unique_ri) > 1]
if (is.null(unique_ri)) unique_ri <- NA
unique_ri <- unique_ri[!is.na(unique_ri)]
@@ -81,9 +130,31 @@ authors_match <- function(data){
} else {
groupid <- min(n_n$ID[choice], na.rm = TRUE)
}
-
+
n_n$groupID[which(n_n$RI == l)] <- groupid
}
+# test end-----------------------------------------------------------------
+ #
+ # original, using above instead to filter outr OI/RI dupes
+ #
+ # unique_ri <- n_n$RI[!is.na(n_n$RI) & is.na(n_n$groupID)]
+ # # unique_ri <- n_n$RI[!is.na(n_n$RI) & is.na(n_n$groupID)]
+ # unique_ri <- names(table(unique_ri))[table(unique_ri) > 1]
+ # if (is.null(unique_ri)) unique_ri <- NA
+ # unique_ri <- unique_ri[!is.na(unique_ri)]
+ # unique_ri <- as.character(unique_ri)
+ # for (l in unique_ri) {
+ # choice <- which(n_n$RI == l)
+ # groupid <- n_n$groupID[choice]
+ # groupid <- groupid[!is.na(groupid)]
+ # if (length(groupid) > 0) {
+ # groupid <- min(groupid)
+ # } else {
+ # groupid <- min(n_n$ID[choice], na.rm = TRUE)
+ # }
+ #
+ # n_n$groupID[which(n_n$RI == l)] <- groupid
+ # }
# n_n |> group_by(OI) |> summarize(n=n_distinct(groupID)) |> filter(n>1)
# n_n |> group_by(groupID) |> filter(!is.na(OI)) |> summarize(n=n_distinct(OI)) |> filter(n>1)
diff --git a/README.Rmd b/README.Rmd
index 0fee7e2..8b2578e 100644
--- a/README.Rmd
+++ b/README.Rmd
@@ -86,7 +86,7 @@ The Refsplitr package has been described in an article in the [_Journal of Open
### Citation: Refsplitr Package
-Fournier, Auriel M.V., Matthew E. Boone, Forrest R. Stevens, and Emilio M. Bruna (2026). refsplitr: author name disambiguation, author georeferencing, and mapping of coauthorship networks with Web of Science data. R package version 1.2.2. Fournier, Auriel M.V., Matthew E. Boone, Forrest R. Stevens, and
Emilio M. Bruna (2026). refsplitr: author name disambiguation, author
georeferencing, and mapping of coauthorship networks with Web of Science
-data. R package version 1.2.2. https://github.com/ropensci/refsplitrCitation: Refsplitr Package
@Manual{refsplitr2025,
title = {refsplitr: author name disambiguation, author georeferencing,
and mapping of coauthorship networks with Web of Science data.},
author = {Fournier, Auriel M.V., Matthew E. Boone, Forrest R. Stevens,
and Emilio M. Bruna},
year = {2026},
-note = {R package version 1.2.2.},
+note = {R package version 1.2.3.},
url ={https://github.com/ropensci/refsplitr}
}
diff --git a/README.md b/README.md
index a5e65cd..06f9ee4 100644
--- a/README.md
+++ b/README.md
@@ -112,7 +112,7 @@ Auriel M.V. Fournier, Matthew E. Boone, Forrest R. Stevens, and
and mapping of coauthorship networks with Web of Science data.},
author = {Fournier, Auriel M.V., Matthew E. Boone, Forrest R. Stevens, and Emilio M. Bruna},
year = {2026},
- note = {R package version 1.2.2.},
+ note = {R package version 1.2.3.},
url={https://github.com/ropensci/refsplitr}
}
diff --git a/codemeta.json b/codemeta.json
index 03a5b61..e04ce63 100644
--- a/codemeta.json
+++ b/codemeta.json
@@ -8,7 +8,7 @@
"codeRepository": "https://github.com/ropensci/refsplitr",
"issueTracker": "https://github.com/ropensci/refsplitr/issues",
"license": "https://spdx.org/licenses/GPL-3.0",
- "version": "1.2.2",
+ "version": "1.2.3",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
diff --git a/inst/CITATION b/inst/CITATION
index e2c55f3..3b34da7 100644
--- a/inst/CITATION
+++ b/inst/CITATION
@@ -5,8 +5,8 @@ citEntry(
title = "refsplitr: Author name disambiguation, author georeferencing,
and mapping of coauthorship networks with Web of Science data.",
author = "Auriel M.V. Fournier and Matthew E. Boone and Forrest R. Stevens and Emilio M. Bruna",
- note = "R package version 1.2.0.",
- year = "2025",
+ note = "R package version 1.2.3.",
+ year = "2026",
url = "https://github.com/ropensci/refsplitr",
textVersion = paste("Fournier, Auriel M.V., Matthew E. Boone, ",
"Forrest R. Stevens, and Emilio M. Bruna (2025).",