Here show how to get number of papers published very years that contain given keywords.
Year from 2000 to 2015
># upload RISmed package, this package is designed to query paper information from Pubmed
> library(RISmed)
># write a function to get information of papers that contain keyword
> paper <- function(keyword="Hello World", start_date=2000, end_date=2015 ){
tally <- array()
x <- 1
for (i in start_date:end_date ){
Sys.sleep(1)
r <- EUtilsSummary(keyword, type="esearch", db='pubmed', mindate=i, maxdate=i)
tally[x] <- QueryCount(r)
x <- x +1
}
names(tally) <- start_date:end_date
tally
}
> "CRISPR", "iPSC", "Organoids","SNP" are keywords in my research. Here are paper number of these four keywords
> iPS <- paper("induced pluripotent stem", 2000, 2015)
> organ <- paper("organoid", 2000, 2015)
> crispr <- paper("CRISPR", 2000, 2015)
> snp <- paper("SNP", 2000, 2015)
> opar <- par()
> par(mfcol=c(2,2))
> barplot(iPS, las=2, ylim=c(0, max(iPS)+50), col="purple", ylab="Paper Number", xlab="Year", main="iPSC")
> barplot(crispr, las=2, ylim=c(0, max(crispr)+50), col="purple", ylab="Paper Number", xlab="Year", main="CRISPR")
> barplot(organ, las=2, ylim=c(0, max(organ)+50), col="purple", ylab="Paper Number", xlab="Year", main="Organoids")
> barplot(snp, las=2, ylim=c(0, max(snp)+50), col="purple", ylab="Paper Number", xlab="Year", main="SNP")
>par(opar)
iPSC and CRISPR technologies go fast based on paper number. The paper number of iPSC in 2012 is 1308. And at this year the person that invented this technology got Nobel Prize. CRISPR is a revolution technology like iPS. So here I generate curves for paper numbers of iPSC and CRISPR. We can predict the time that could get Nobel Prize.
> library(forecast)
> myts <- ts(crispr[1:15], start=2000, end=2014, frequency=1)
> fit <- auto.arima(myts)
> #predict the paper numbers in future 5 years
> my_pre<-predict(fit,n.ahead=5)
> plot(seq(2000, 2014),crispr,ylim=c(0,2500),xlim=c(2000,2020), pch=19, col="blue", las=2, main="Trands of CRISPR Paper Number", xlab="Year", ylab="Paper Number")
> points(my_pre$pred,col="red",pch=19)
> lines(myts)
> lines(my_pre$pred)
Could be better, could be worse. The year that CRISPR would get Nobel Prize is 2017 (Just for fun).