我正在收集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
包中。
這個問題真的讓我感到困擾,我非常感謝任何幫助或指導。感謝您提前做出的努力和幫助。