专栏名称: 生信媛
生信媛,从1人分享,到8人同行。坚持分享生信入门方法与课程,持续记录生信相关的分析pipeline, python和R在生物信息学中的利用。内容涵盖服务器使用、基因组转录组分析以及群体遗传。
目录
相关文章推荐
51好读  ›  专栏  ›  生信媛

如何用R了解某领域的文章发表趋势

生信媛  · 公众号  · 生物  · 2019-10-28 17:04

正文

请到「今天看啥」查看全文


今天发现一个好玩的。照例先放图。第一张是每年pubmed上收录的发表的文章数量。第二张则是基因组、代谢组等组学数据发表的数量。


这两张图的数据是通过R包 rentrez 获取的。

rentrez提供了一些利用NCBI提供的api来搜索、下载ncbi的数据的函数,方便用户与NCBI数据库交互。

安装和使用

install.packages(c("rentrez","reshape","ggplot2"))
# 或者通过github下载
#if (!require("devtools")) #install.packages("devtools")
#devtools::install_github("ropensci/rentrez")
library(rentrez)

papers_by_year function(years, search_term){
 return(sapply(years, function(y) entrez_search(db="pubmed",term=search_term, mindate=y, maxdate=y, retmax=0)$count))
}
years 1990:2019
total_papers papers_by_year(years, "")
omics c("genomic", "epigenomic",  "metagenomic", "proteomic", "transcriptomic","metabolomics","exposome", "pharmacogenomic", "connectomic")
trend_data sapply(omics, function(t) papers_by_year(years, t))
trend_props trend_data/total_papers

library(reshape)
library(ggplot2)
trend_df melt(data.frame(years, trend_data), id.vars="years")
p ggplot(trend_df, aes(years, value, colour=variable))
p + geom_line(size=1) + scale_y_log10("number of papers")

total_papers2 
p
p + geom_line(size=1) + scale_y_log10("number of papers")

除此之外,这个包也可以用来下载NCBI的数据。包括下载序列等等。

更多使用可以参考:

  • CRAN-Introduction: The NCBI, entrez and rentrez. :https://cran.r-project.org/web/packages/rentrez/vignettes/rentrez_tutorial.html

  • github-ropensci/rentrez:https://github.com/ropensci/rentrez


此外,R包 gtrendsR 也可以用来获取类似的信息。(注:图片和代码来源于《Meta-Workflow》,作者Miao YU,书的网址: https://yufree.github.io/metaworkflow/index.html

install.packages("gtrendsR"))
# 或者通过github下载
#if (!require("devtools")) #install.packages("devtools")
#devtools::install_github("PMassicotte/gtrendsR")

library(gtrendsR)
res gtrends(c("metabolomics", "metabolomics"), geo = c("CA","US"))
plot(res)

gtrendsr是基于google来检索和显示趋势信息,由于一些不足为外人道的原因,我们在使用的时候需要设置代理再使用:

library(gtrendsR)

setHandleParameters(user = "xxxx", password = "*******", domain = "mydomain", proxyhost = "10.111.124.113", proxyport = 8080)

res gtrends(c("metabolomics", "metabolomics"), geo = c("CA","US"))
plot(res)

rentrez的更多参考资料:

  • github-ropensci/rentrez:https://github.com/ropensci/rentrez

  • CRAN-gtrendsR: Perform and Display Google Trends Queries:https://cran.r-project.org/web/packages/gtrendsR/index.html








请到「今天看啥」查看全文