vlambda博客
学习文章列表

R语言实现文献的批处理

科研过程中难免会涉及大量文献的检索下载,还有信息的整合。我们今天给大家介绍一个可以获取文献相关信息甚至全文的R包。Rcrossref可以通过文献doi获得文献的相关信息,crminer可以基于链接直接下载原文,当然这个要看你所在网络的权限了。首先我们看下报道额安装:

install.packages("rcrossref")install.packages("crminer")

 

接下来我们看下包中各函数的功能:

1. cr_cn获取各种参考文献形式

R语言实现文献的批处理

其中主要参数:

Format 指的输出的形式,包括:"rdf-xml","turtle", "citeproc-json", "citeproc-json-ish","text", "ris", "bibtex" (default),"crossref-xml", "datacite-xml","bibentry", or"crossref-tdm"。

Style 指的引文样式风格库,只要包含的都可以输出。

我们看下实例:

cat(cr_cn(dois ="10.1126/science.169.3946.635", format = "bibtex"))


 

R语言实现文献的批处理

2. cr_citation_count 获取文献的引用次数。我们直接看下实例:

cr_citation_count(doi="10.1371/journal.pone.0042793")


 

R语言实现文献的批处理

3. cr_agency获取doi 的生成机构。

cr_agency(dois = '10.13039/100000001')


 

R语言实现文献的批处理

4. cr_works 查看交叉引用的情况。实例:

cr_works(filter=c(has_orcid=TRUE,from_pub_date='2004-04-04'), limit=1)


 

R语言实现文献的批处理

5. cr_prefixes基于doi前缀搜索相应doi来源

cr_prefixes(prefixes=c('10.1016','10.1371','10.1023','10.4176','10.1093'))

R语言实现文献的批处理

以上是rcrossref中的主要功能,接下来我们看下在crminer中获取文献全文的功能:

1. crm_links 通过doi获取文章全文的链接,全文格式包括'xml', 'html', 'plain', 'pdf', 'unspecified', or 'all' (default)。实例:

crm_links(doi="10.1245/s10434-016-5211-6", "pdf")


 

R语言实现文献的批处理

2. as_tdmurl 创建一个crm_links项目。实例:

as_tdmurl("http://downloads.hindawi.com/journals/bmri/2014/201717.xml", "xml")

 

R语言实现文献的批处理

3. crm_text 获取全文的文本数据。实例:

links=crm_links(doi="10.1245/s10434-016-5211-6", "pdf")crm_text(url=links, type='pdf')


 

R语言实现文献的批处理

4. crm_pdf获取pdf文件。实例:

links <- crm_links(dois_pensoft[10],"all")crm_pdf(links)


 

R语言实现文献的批处理

5. crm_xml 获取xml格式的文献。实例:

crm_xml(links)


 

R语言实现文献的批处理

6. crm_extract从pdf中抽取文本信息。实例:

path <-system.file("examples""MairChamberlain2014RJournal.pdf",package = "crminer")res <- crm_extract(path)


 

R语言实现文献的批处理

至此,我们只需要知道doi就可以获取文献的相关信息。当然此包存在一定的局限性,那就是预印版杂志的doi是无法获取相关信息的。