【源码参考】R语言第二期2-4 统计某个研究领域的研究趋势

真·科研狗 2018-04-07 15:38:24 阅读: 1674

以“p53”为例

library("httr")
countData = data.frame(year=c(), count = c())
url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi"

for(i in 1:10){
  year=2007+i
  term = paste('(p53[TI]) AND ',year,'[DP]',sep = "")
  r <- POST(url, 
            body = list(
              db='pubmed',
              term=term,
              retmode='json',
              retstart=0,
              retmax=10,
              rettype='uilist'
            )
  )
  
  stop_for_status(r) #清除http状态字符串
  data=content(r, "parsed", "application/json") 
  #data里面存储了所有数据
  esearchresult=data$esearchresult
  count = esearchresult$count
  countData = rbind(countData,data.frame(year=c(year),count=c(count)))
}
print(countData)

library(ggplot2)
ggplot(countData,aes(x=year,y=count))+geom_bar(aes(fill=year), stat="identity")+xlab("year")+ylab("count")


 2018.04.08修正参考代码:

library("httr")

yearData=c()
countData=c()
url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi"

for(i in 1:10){
  year=2007+i
  term = paste('(p53[TI]) AND ',year,'[DP]',sep = "")
  r <- POST(url, 
            body = list(
              db='pubmed',
              term=term,
              retmode='json',
              retstart=0,
              retmax=10,
              rettype='uilist'
            )
  )
  
  stop_for_status(r) #清除http状态字符串
  data=content(r, "parsed", "application/json") 
  #data里面存储了所有数据
  esearchresult=data$esearchresult
  count = esearchresult$count
  yearData=c(yearData,year)
  countData=c(countData,count)
}
data=data.frame(year=yearData,count=countData)
print(data)

library(ggplot2)
ggplot(data,aes(x=year,y=count))+geom_bar(aes(fill=year), stat="identity")+xlab("year")+ylab("count")


 
邀请讨论

附件

{{f.title}} 大小 {{f.file_size}} 下载 {{f.count_download}} 金币 {{f.count_gold}}
{{item.nick_name}} 受邀请回答 {{item.create_time}}
{{item.refer_comment.nick_name}} {{item.refer_comment.create_time}}

附件

{{f.title}} 大小 {{f.file_size}} 下载 {{f.count_download}} 金币 {{f.count_gold}}
切换到完整回复 发送回复
赞({{item.count_zan}}) 踩({{item.count_cai}}) 删除 回复 关闭
科研狗©2015-2024 科研好助手,京ICP备20005780号-1 建议意见

服务热线

178 0020 3020

微信服务号