| cr_citation_count {rcrossref} | R Documentation |
Get a citation count via CrossRef OpenURL
Description
Get a citation count via CrossRef OpenURL
Usage
cr_citation_count(
doi,
url = "http://www.crossref.org/openurl/",
key = "cboettig@ropensci.org",
async = FALSE,
...
)
Arguments
doi |
(character) One or more digital object identifiers. If
|
url |
(character) the url for the function (should be left to default) |
key |
your Crossref OpenURL email address, either enter, or loads
from |
async |
(logical) use async HTTP requests. Default: |
... |
Curl options passed on to |
Details
See https://www.crossref.org/labs/openurl/ for more info on this Crossref API service.
This number is also known as cited-by
Note that this number may be out of sync/may not match that that the publisher is showing (if they show it) for the same DOI/article.
We've contacted Crossref about this, and they have confirmed this. Unfortunately, we can not do anything about this.
I would imagine it's best to use this data instead of from the publishers, and this data you can get programatically :)
Value
a data.frame, with columns doi and count. The count column
has numeric values that are the citation count for that DOI, or NA if
not found or no count available
failure behavior
When a DOI does not exist, we may not get a proper HTTP status code to throw a proper stop status, so we grep on the text itself, and throw a stop if only one DOI passed and not using async, or warning if more than one DOI passed or if using async.
Author(s)
Carl Boettiger cboettig@gmail.com, Scott Chamberlain
See Also
Examples
## Not run:
cr_citation_count(doi="10.1371/journal.pone.0042793")
cr_citation_count(doi="10.1016/j.fbr.2012.01.001")
## many
dois <- c("10.1016/j.fbr.2012.01.001", "10.1371/journal.pone.0042793")
cr_citation_count(doi = dois)
# DOI not found
cr_citation_count(doi="10.1016/j.fbr.2012")
# asyc
dois <- c("10.1016/j.fbr.2012.01.001", "10.1371/journal.pone.0042793",
"10.1016/j.fbr.2012", "10.1109/tsp.2006.874779", "10.1007/bf02231542",
"10.1007/s00277-016-2782-z", "10.1002/9781118339893.wbeccp020",
"10.1177/011542659200700105", "10.1002/chin.197444438",
"10.1002/9781118619599.ch4", "10.1007/s00466-012-0724-8",
"10.1017/s0376892900029477", "10.1167/16.12.824")
res <- cr_citation_count(doi = dois, async = TRUE)
## verbose curl
res <- cr_citation_count(doi = dois, async = TRUE, verbose = TRUE)
res
## time comparison
system.time(cr_citation_count(doi = dois, async = TRUE))
system.time(cr_citation_count(doi = dois, async = FALSE))
# from a set of random DOIs
cr_citation_count(cr_r(50), async = TRUE)
## End(Not run)