| ReadCrossRef | R Documentation |
Provides an interface to the CrossRef API, searching for citations
given a string query. Results are written to a bib file, read back
into R using WriteBib, and returned as a
BibEntry object.
ReadCrossRef(
query = "",
filter = list(),
limit = 5,
offset = 0,
sort = "relevance",
year = NULL,
min.relevance = 2,
temp.file = tempfile(fileext = ".bib"),
delete.file = TRUE,
verbose = FALSE,
use.old.api = FALSE
)
query |
string; search term |
filter |
named list of possible filters; see |
limit |
numeric; maximum number of entries to return |
offset |
numeric; CrossRef will not return the first
|
sort |
string; how specifying how the results from CrossRef
should be sorted. Possible values when |
year |
numeric; if specified, only results from this year will be returned. |
min.relevance |
numeric; only results with a CrossRef-assigned relevance score at least this high will be returned. |
temp.file |
string; file name to use for storing Bibtex information returned by CrossRef. |
delete.file |
boolean; should the bib file be deleted on exit? |
verbose |
boolean; if |
use.old.api |
boolean; should the older CrossRef API be used for the search? NO LONGER SUPPORTED, all queries need to use the new API. |
When use.old.api = TRUE, the query HTTP request only returns DOIs,
which are then used to make HTTP requests for the corresponding BibTeX entries from
CrossRef; when use.old.api = FALSE, the query HTTP request is parsed to create
the BibEntry object (i.e. there are less HTTP requests when using the new API).
CrossRef assigns a score between 0 and 100 based on how relevant a
reference seems to be to your query. The old API
documentation warns that while false negatives are unlikely, the
search can be prone to false positives. Hence, setting
min.revelance to a high value may be necessary if
use.old.api = TRUE. In some instances with the old API, no
score is returned, if this happens, the entries are added with a
message indicating that no score was available.
Possible values for the names in filter are "has-funder",
"funder", "prefix", "member", "from-index-date",
"until-index-date",
"from-deposit-date", "until-deposit-date", "from-update-date",
"until-update-date", "from-created-date", "until-created-date",
"from-pub-date", "until-pub-date", "has-license", "license.url",
"license.version", "license.delay", "has-full-text",
"full-text.version", "full-text.type", "public-references",
"has-references", "has-archive", "archive", "has-orcid",
"orcid", "issn", "type", "directory", "doi",
"updates", "is-update", "has-update-policy", "container-title",
"publisher-name", "category-name", "type-name", "award.number",
"award.funder", "assertion-group", "assertion", "affiliation",
"has-affiliation", "alternative-id", and "article-number".
See the first reference for a description of their meanings.
An object of class BibEntry.
The entries returned by Crossref are frequently missing
fields required by BibTeX, if you want the entries to be
returned anyway, set BibOptions()$check.entries to
FALSE or "warn"
Fields "score" (the relevancy score) and "license" will be
returned when use.old.api = FALSE.
Newer API: https://github.com/CrossRef/rest-api-doc/blob/master/rest_api.md, Older API: https://search.crossref.org/help/api
ReadZotero, BibEntry,
package rcrossref for larger queries and deep paging
Other pubmed:
GetPubMedByID(),
GetPubMedRelated(),
LookupPubMedID(),
ReadPubMed()
if (interactive() && !httr::http_error("https://search.crossref.org/")){
BibOptions(check.entries = FALSE)
## 3 results from the American Statistical Association involving "regression"
ReadCrossRef("regression", filter = list(prefix="10.1198"), limit = 3)
## Some JRSS-B papers published in 2010 or later, note the quotes for filter
## names with hypens
ReadCrossRef(filter = list(issn = "1467-9868", "from-pub-date" = 2010),
limit = 2, min.relevance = 0)
## Articles published by Institute of Mathematical Statistics
ReadCrossRef(filter = list(prefix = "10.1214"), limit = 5, min.relevance = 0)
## old API
ReadCrossRef(query = 'rj carroll measurement error', limit = 2, sort = "relevance",
min.relevance = 80, use.old.api = TRUE)
ReadCrossRef(query = 'carroll journal of the american statistical association',
year = 2012, limit = 2, use.old.api = TRUE)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.