簡體   English   中英

根據相關性從rentrez排序發布的搜索

[英]Sort pubmed searches from rentrez by relevance

我正在使用R中的rentrez軟件包搜索PubMed,並希望按相關性對結果進行排序。 目前,它們按出版日期排序。

library(rentrez)

query = 'regression to the mean[TITL]'
entrez_search = entrez_search(db="pubmed", term=query, retmax=30)
paper_data = entrez_summary(db="pubmed", id=entrez_search$ids)
dates = extract_from_esummary(paper_data, c("pubdate"))

根據我的理解,“相關性”信息與給定的搜索相關聯(不是記錄摘要或稍后可能下載的完整記錄),並且沒有得分或類似的說明給定搜索結果在返回的數據中的相關性通過entrez搜索。

另一方面,我認為sort=relevance參數正在做一些事情。 如果您發送兩次相同的搜索,則ID的順序相同:

default_search = entrez_search(db="pubmed", term=query, retmax=30)
default_search_again = entrez_search(db="pubmed", term=query, retmax=30)
all(default_search$ids == default_search_again$ids)

[1] TRUE

而將訂單設置為relevance改變訂單:

rel_search = entrez_search(db="pubmed", term=query, retmax=30, sort="relevance")
default_search$ids == rel_search$ids

 [1]  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE
[13] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE
[25] FALSE FALSE  TRUE  TRUE FALSE FALSE

稍后調用summary,fetch和link函數應保持此順序,因此這可能是跟蹤相關性信息的最簡單(唯一?)方式?

extract_from_esummary用於paper_data esummary並調用選定的參數。 在你的情況下,它是pubdate

當您檢查paper_data的結構時,例如使用str(paper_data)那么您將注意到您可以作為extract_from_esummary的第二個參數的元素,例如按ISSN排序:

issn <- extract_from_esummary(paper_data, c("issn"))

不幸的是,我看不到任何類似相關性的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM