美文网首页科研信息学
如何批量获取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