美文网首页R语言探索
用R语言检索文献并简单整理信息

用R语言检索文献并简单整理信息

作者: xuwenpku | 来源:发表于2018-10-24 09:16 被阅读252次

起因:在工作中需要阅读文献,其中的一些基本信息,例如文章作者,发表刊物,影响因子等,自己懒,不想一一整理

基本利用思路:利用R语言中的RISmed包检索并进行返回需要的基本信息,如第一作者,责任作者,作者单位,发表期刊,这些都是RISmed包中既有的函数可以得到的,然后利用下载的期刊影响因子列表提取IF,最后把上述信息输出成为excel表格。

上述功能很多软件都能做,我想以上面为基础做下面的事:

    1. 筛选最相关的研究:pubmed的结果大家都知道是比较全面的,但是有时候冗余比较多,如何进一步分析自动筛选最相关的研究是一个问题。

    2. 进一步筛选引用了某一论文的论文。

    3. 通过文本分析,得到相关研究的发展趋势是另外一个问题。这两个问题涉及到各个专业的特性,不是仅仅用一下文本分析,词频等等就可以的。我想可能与专业论文撰写习惯,专业词汇表的建立,专业词汇的权重等等诸多问题有关。之后再研究。

现在的脚本很简单,但是好歹现在解决了第一个问题:我拿到文献了!!(撒花,撒花……小白做成了一点小事后莫名的开心)

脚本分享一下。我不是搞软件的,也不是专门做情报分析的,纯粹个人恶趣味,非要把其他软件能做的事情用R做一下。因为其实很简单,学习交流用。

##说明:采用RISmed包,检索pubmed,关键词可根据pubmed检索技巧填写。

##(cont)可设置检索时间范围,可输出2018影响因子,主题词,等信息

##(cont)与在pubmed上检索比对,最新的几篇文献检索不到,其他的基本类似

##(cont)可输出每次应用的log

library(tidyverse)

library(RISmed)

library(openxlsx)

library(lubridate)

library(readxl)

#searching

#example for key words, myeloma[ti] jones[au]

#ab, ad:address, ta:journal name

#logic: AND OR NOT

purpose <- "training"

key_words <- c("pinkeye")

date_range_min = 2015

latest <- year(ymd(Sys.Date()))

date_range_max = latest

res <- EUtilsSummary(query = key_words, type = "esearch", db = "pubmed", datetype = "ppdt",

                    mindate = date_range_min, maxdate = date_range_max, retmax = 500)

query_word <- QueryTranslation(res)

query_word

number <- QueryCount(res)

number

#retreival journal name####

journal <- ISOAbbreviation(EUtilsGet(res))

full_journal <- tolower(Title(EUtilsGet(res)))

#impact factor####

if2018 <- read_excel("retrieval papers from ncbi/2018年最新影响因子.xlsx",

                    col_types = c("numeric", "text", "text",

                                  "numeric", "numeric"))

if2018$Total_Cites <- as.numeric(gsub(",","",if2018$Total_Cites))

if2018$Full_Journal_Title <- tolower(if2018$Full_Journal_Title)

if2018_final <- left_join(data.frame(full_journal), if2018, by = c("full_journal" = "Full_Journal_Title"))

#author####

authors <- Author(EUtilsGet(res))

author_1st <- c()

l <- length(authors)

for (i in 1:l) {

  names <- authors[[i]][authors[[i]]$order == 1,]

  name <- paste(names$LastName, names$Initials, sep = ",")

  author_1st <- c(author_1st, name)

}

author_last <- c()

for (i in 1:l) {

  total_author <- nrow(authors[[i]])

  names <- authors[[i]][authors[[i]]$order == total_author,]

  name <- paste(names$LastName, names$Initials, sep = ",")

  author_last <- c(author_last, name)

}

#titles####

titles <- ArticleTitle(EUtilsGet(res))

#affiliations####

affiliations <- Affiliation(EUtilsGet(res))

affiliation_1st <- c()

for (i in 1:l) {

  aff <- affiliations[[i]][1]

  affiliation_1st <- c(affiliation_1st, aff)

}

#pub time####

year_pub <- YearPubmed(EUtilsGet(res))

#citation times####

cited_num <- Cited(EUtilsGet(res))

#article ID####

article_id <- ArticleId(EUtilsGet(res))

#mesh####

meshes <- Mesh(EUtilsGet(res))

mesh <- c()

for (i in 1:l) {

  if (is.na(meshes[[i]])) {

    mesh2 <- NA

    mesh <- c(mesh, mesh2)

  }

  else {

    mesh1 <- meshes[[i]]

    n <- nrow(mesh1)

    mesh2 <- mesh1$Heading[1]

    for (j in 2:n) {

      mesh2 <- paste(mesh2, mesh1$Heading[j], sep = ", ")

    }

    mesh <- c(mesh, mesh2)

  }

}

#combine all####

all_output <- data.frame(journal, year_pub, IF = if2018_final$Journal_Impact_Factor,author_1st, author_last, cited_num,

                        affiliation_1st, titles, mesh, article_id)

all_output %>% View()

path <- paste(key_words, ".xlsx")

write.xlsx(all_output, path)

#Log file####

Sys.Date()

purpose

key_words

query_word

number

log_exist <- read_excel("log for RISmed search.xlsx")

log_exist$date <- as.Date(log_exist$date)

log_present <- data.frame(date = Sys.Date(), purpose, key_words, query_word, number)

log_present <- bind_rows(log_exist, log_present)

write.xlsx(log_present, "log for RISmed search.xlsx", overwrite = T)

相关文章

  • 用R语言检索文献并简单整理信息

    起因:在工作中需要阅读文献,其中的一些基本信息,例如文章作者,发表刊物,影响因子等,自己懒,不想一一整理 基本利用...

  • 文献检索《第十周笔记》

    文献收集与整理: ①检索信息②收集管理③筛选阅读④整理输出 十大信息源:专利、会议文献、期刊、科技报告、学位论文、...

  • 复盘——1(2022.06.01)

    整理今天所学专业课笔记✔ 开始写选修课的期末论文✔ 了解如何检索并阅读文献✔ 学做文献综述并引用文献✔ 敲定完近期...

  • 【神经网络搜索】神经网络架构国内外发展现状-NAS信息检索

    @[toc] [1] 信息检索语言 信息检索语言是用于描述信息系统中的信息的内容特征,常见的信息检索语言包括分类语...

  • Precision、Recall、F1-Measure、mAP、

    在信息检索和自然语言处理中经常会使用这些参数,下面简单介绍如下: 1. 准确率与召回率(Precision & R...

  • 用R语言检索相关期刊

    通过这样,我们可以得到frontiers系列相关期刊的影响因子。

  • 数字化信息检索

    本节着重介绍借助网络信息检索工具、文献信息数据库、数字图书馆等进行的数字化信息检索。 一.网络信息检索工具 搜索引...

  • 信息检索

    少数民族文献 方言文献 典藏文献 两会所有资料 雾霾环境信息检索 编 编著 著 专著

  • 学会这6招,文献研究水平想不提升都难!

    要注意有效地检索和筛选文献 文献检索是文献分析的基础, 检索文献需要勤查勤看。为了提高文献检索的效率和全面性, 应...

  • 2019-07-14

    Python----->Pubmed文献摘要下载和整理 PART1 目的:下载检索词返回的文献摘要,现在仅针对...

网友评论

    本文标题:用R语言检索文献并简单整理信息

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