Learn R Programming

fulltext (version 0.1.6)

ft_links: Get full text links

Description

Get full text links

Usage

ft_links(x, from = NULL, plosopts = list(), crossrefopts = list(), entrezopts = list(), bmcopts = list(), ...)
"ft_links"(x, from = NULL, plosopts = list(), crossrefopts = list(), entrezopts = list(), bmcopts = list(), ...)
"ft_links"(x, from = NULL, plosopts = list(), crossrefopts = list(), entrezopts = list(), bmcopts = list(), ...)
"ft_links"(x, from = NULL, plosopts = list(), crossrefopts = list(), entrezopts = list(), bmcopts = list(), ...)

Arguments

x
One of ft, ft_ind, or a character string of DOIs.
from
Source to query. Ignored when ft_ind class passed.
plosopts
PLOS options. See ?searchplos
crossrefopts
Crossref options. See ?cr_works
entrezopts
Entrez options. See ?entrez_search
bmcopts
BMC options. See ?bmc_search
...
Further args passed on to GET. Not working right now...

Value

An object of class ft_links, with either a list or data.frame for each DOI, with links for XML and PDF links (typically).

Details

Inputs can be an object of class ft, ft_ind, or a character string of DOIs. You can specify a specific source for four sources (PLOS, BMC, Crossref, and Entrez), but any other publishers we guess the publisher form the input DOI(s), then attempt to generate full text links based on the publisher (if found). Of course, guessing the publisher makes things slower as it requires an HTTP request.

Strategy varies by publisher. For some we can construct XML and PDF links only from the DOI. For others, we need to make an HTTP request to the publisher to get additional information - this of course makes things slower.

Examples

Run this code
## Not run: 
# # Entrez
# (res1 <- ft_search(query='ecology', from='entrez'))
# res1$entrez$data$doi
# ## directly from ft_search output
# (out <- ft_links(res1))
# out$entrez
# out$entrez$data[[1]]
# ## directly individual elements of ft_search output
# (out <- ft_links(res1$entrez))
# out$entrez
# ## from character vector of DOIs
# x <- c("10.1371/journal.pone.0086169", "10.1016/j.ympev.2010.07.013")
# (out2 <- ft_links(x, from = "entrez"))
# out2$entrez
# 
# # Crossref
# (res2 <- ft_search(query='ecology', from='crossref'))
# res2$crossref$data$doi
# ## directly from ft_search output
# (out <- ft_links(res2))
# out$crossref
# out$crossref$data[[1]]
# ## directly individual elements of ft_search output
# (out <- ft_links(res2$crossref))
# out$crossref
# ## from character vector of DOIs
# x <- c("10.1016/s1754-5048(14)00139-1", "10.1016/b978-0-12-378260-1.50017-8")
# (out2 <- ft_links(x, from = "crossref"))
# out2$crossref
# 
# # PLOS
# (res3 <- ft_search(query='ecology', from='plos', plosopts=list(
#    fl=c('id','author','eissn','journal','counter_total_all','alm_twitterCount'))))
# res3$plos$data$id
# ## directly from ft_search output
# (out <- ft_links(res3))
# out$plos
# out$plos$data[[1]]
# ## directly individual elements of ft_search output
# (out <- ft_links(res3$plos))
# out$plos
# ## from character vector of DOIs
# x <- c("10.1371/journal.pone.0017342", "10.1371/journal.pone.0091497")
# out3 <- ft_links(x, from = "plos")
# out3$plos
# 
# # BMC
# (res <- ft_search(query='ecology', from='bmc'))
# res$bmc
# ## directly from ft_search output
# (out <- ft_links(res))
# out$bmc
# out$bmc$data[[1]]
# ## directly individual elements of ft_search output
# (out <- ft_links(res$bmc))
# out$bmc
# 
# # Character input
# out4 <- ft_links('10.1371/journal.pone.0086169')
# out4$plos
# 
# # other publishers
# ## elife
# res <- ft_links(c('10.7554/eLife.03032', '10.7554/eLife.02747'))
# res$elife
# 
# ## peerj
# ft_links('10.7717/peerj.228')
# ft_links(c('10.7717/peerj.228', '10.7717/peerj.1200'))
# 
# ## frontiersin
# (res <- ft_links('10.3389/fphar.2014.00109'))
# res$frontiersin
# 
# ## copernicus
# (res <- ft_links('10.5194/angeo-31-2157-2013'))
# res$copernicus
# 
# ## cogent
# (res <- ft_links('10.1080/23311916.2014.938430'))
# res$cogent
# 
# ## bmc
# (res <- ft_links('10.1186/2049-2618-2-7'))
# res$bmc
# (res <- ft_links('10.1186/2049-2618-2-7', from = "bmc"))
# 
# ## Many publishers, elife and peerj
# res <- ft_links(c('10.7554/eLife.03032', '10.7717/peerj.228'))
# res$elife
# res$peerj
# ## End(Not run)

Run the code above in your browser using DataLab