我使用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"))发布于 2016-08-01 03:28:10
据我所知,“相关性”信息与给定的搜索(而不是稍后可能下载的记录摘要或完整记录)相关联,也没有分数或类似的说法说,在请求搜索返回的数据中,给定的搜索结果有多相关。
另一方面,我认为sort=relevance的论点起到了作用。如果将相同的搜索发送两次,则in的顺序相同:
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稍后对摘要、提取和链接函数的调用应该保持此顺序,因此这可能是最简单的(仅?)跟踪相关信息的方法?
发布于 2016-07-04 10:57:02
extract_from_esummary用于paper_data口香糖,并调用选定的参数。在你的例子中,它是pubdate。
当您检查paper_data的结构时,例如通过使用str(paper_data),您将注意到可以作为extract_from_esummary的第二个参数的元素,例如通过ISSN进行排序:
issn <- extract_from_esummary(paper_data, c("issn"))对你来说不幸的是,我看不出任何类似相关的东西。
https://stackoverflow.com/questions/38182072
复制相似问题