Сортировать опубликованные поиски от Rentrez по релевантности

Я ищу PubMed с помощью пакета rentrez в R и хотел бы отсортировать результаты по релевантности. В настоящее время они отсортированы по дате публикации.

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"))

2 ответа

Решение

Насколько я понимаю, информация "релевантности" связана с заданным поиском (а не с краткой записью или полными записями, которые могут быть загружены позже), и нет оценки или аналогичного показателя, указывающего, насколько релевантен данный результат поиска в возвращаемых данных. по поиску энтрез.

С другой стороны, я думаю, что sort=relevance Аргумент делает что-то. Если вы отправите тот же поиск дважды, идентификаторы будут в том же порядке:

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

Последующие вызовы функций суммирования, извлечения и ссылки должны поддерживать этот порядок, так что это может быть самый простой (только?) Способ отслеживать релевантную информацию?

extract_from_esummary используется на paper_data esummary и вызывает выбранный аргумент. В вашем случае это pubdate,

Когда вы изучаете структуру paper_data например, используя str(paper_data) тогда вы заметите элементы, которые вы могли бы в качестве второго аргумента extract_from_esummaryнапример, сортировка по ISSN:

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

К сожалению для вас, я не вижу ничего похожего на релевантность.

Другие вопросы по тегам