我正在收集PubMed中搜索术语的作者信息和文章信息。我在rentrez
包中使用entrez_fetch
成功获得作者姓名,出版年份和其他信息。以下是我的示例代码:PubMed使用entrez_fetch进行XML解析rentrez
library(rentrez)
library(XML)
pubmedSearch <- entrez_search("pubmed", term = "flexible ureteroscope", retmax = 100)
SearchResults <- entrez_fetch(db="pubmed", pubmedSearch$ids, rettype="xml", parsed=TRUE)
First_Name <- xpathSApply(SearchResults, "//Author", function(x) {xmlValue(x[["ForeName"]])})
Last_Name <- xpathSApply(SearchResults, "//Author", function(x) {xmlValue(x[["LastName"]])})
PubYear <- xpathSApply(SearchResults, "//PubDate", function(x) {xmlValue(x[["Year"]])})
PMID <- xpathSApply(SearchResults, "//ArticleIdList", function(x) {xmlValue(x[["ArticleId"]])})
尽管获得了我需要的所有信息,但我在确定哪些作者是哪个PMID时遇到问题。这是因为每个PMID的作者长度不同。例如,如果我在我的代码中分析了100篇文章的作者信息,我得到了超过100个作者的名字,我无法将其与相应的PMID相关联。总的来说,我想有一个输出数据帧是这样的:
PMID First_Name Last_Name PubYear
28221147 Carlos Torrecilla Ortiz 2017
28221147 Sergi Colom Feixas 2017
28208536 Dean G Assimos 2017
28203551 Chad M Gridley 2017
28203551 Bodo E Knudsen 2017
于是就这样,我就知道这是作者在关联与PMID并作进一步的分析是有用的。
只是为了说明,这是我的代码的一个小例子。我正在收集更多信息,使用XML
解析通过entrez_fetch
在rentrez
包中。
这个问题真的让我感到困扰,我非常感谢任何帮助或指导。感谢您提前做出的努力和帮助。