[R-pkg-devel] ORCID ID finder via tools::CRAN_package_db() ?

Kurt Hornik Kurt@Horn|k @end|ng |rom wu@@c@@t
Tue Aug 20 14:29:50 CEST 2024


>>>>> Dirk Eddelbuettel writes:

Dirk et al,

Sorry for not replying any sooner :-)

I think for now you could use something like what I attach below.

Not ideal: I had not too long ago starting adding orcidtools.R to tools,
which e.g. has .persons_from_metadata(), but that works on the unpacked
sources and not the CRAN package db.  Need to think about that ...

Best
-k

********************************************************************
x <- tools::CRAN_package_db()
a <- lapply(x[["Authors using R"]],
            function(a) {
                if(!is.na(a)) {
                    a <- tryCatch(utils:::.read_authors_at_R_field(a), 
                                  error = identity)
                    if (inherits(a, "person")) 
                        return(a)
                }
                NULL
            })
a <- do.call(c, a)
a <- lapply(a,
            function(e) {
                if(is.null(o <- e$comment["ORCID"]) || is.na(o))
                    return(NULL)
                cbind(given = paste(e$given, collapse = " "),
                      family = paste(e$family, collapse = " "),
                      oid = unname(o))
            })
a <- as.data.frame(do.call(rbind, a))
********************************************************************

> Salut Thierry,

> On 20 August 2024 at 13:43, Thierry Onkelinx wrote:
> | Happy to help. I'm working on a new version of the checklist package. I could
> | export the function if that makes it easier for you.

> Would be happy to help / iterate. Can you take a stab at making the
> per-column split more robust so that we can bulk-process all non-NA entries
> of the returned db?

> Best, Dirk

> -- 
> dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org



More information about the R-package-devel mailing list