美文网首页科研信息学
如何批量获取pubmed作者信息(举办会议神器)

如何批量获取pubmed作者信息(举办会议神器)

作者: 落寞的橙子 | 来源:发表于2020-12-15 02:52 被阅读0次

老板要办个会,本来让我们一个个去查文献,然后获取邮箱等去发邮件。我想偷个懒(“懒惰”是程序员的美德之一)找个R包,直接获取pubmed通讯作者的单位和邮箱,封装函数如下:

建议把pubmed语法先去pubmed搜以下然后再决定用哪个。我测试了以下一次好像最多提取500个文章。
参考
Pubmed语法

rm(list = ls())
#https://cran.r-project.org/web/packages/easyPubMed/vignettes/getting_started_with_easyPubMed.html
#install.packages("easyPubMed")
suppressMessages(library(easyPubMed))
out_dir<-"~/Desktop/pubmed"
dir.create(out_dir,recursive = T)
setwd(out_dir)
#maximine reference will be 500

get_author<-function(new_query){
  my_entrez_id <- get_pubmed_ids(new_query)
  my_abstracts_txt <- fetch_pubmed_data(my_entrez_id, format = "abstract")
  my_abstracts_xml <- fetch_pubmed_data(pubmed_id_list = my_entrez_id)
  my_PM_list <- articles_to_list(pubmed_data = my_abstracts_xml)
  xx <- lapply(my_PM_list, article_to_df, autofill = TRUE, max_chars = 50)
  full_df <- do.call(rbind, xx)
  articals<-as.character(unique(full_df$pmid))
  out_tab<-data.frame()
  for (i in articals){
    rt<-full_df[full_df$pmid==i,]
    rrt<-rt[nrow(rt),]
    out_tab<-rbind(out_tab,rrt)
  }
  return(out_tab)
}
#example
new_query_2016 <- 'lncRNAs[TIAB] AND Disease[TIAB] AND "2016"[PDAT])' 
query_2016<-get_author(new_query=new_query_2016)

相关文章

网友评论

    本文标题:如何批量获取pubmed作者信息(举办会议神器)

    本文链接:https://www.haomeiwen.com/subject/yidigktx.html