# parse PubMed data
library(XML) # xpath
library(rentrez) # entrez_fetch
pmids <- c("25506969","25032371","24983039","24983034","24983032","24983031","26386083",
"26273372","26066373","25837167","25466451","25013473","23733758")
# Above IDs are mix of Books and journal articles
# ID# 23733758 is an journal article and has No abstract
data.pubmed <- entrez_fetch(db = "pubmed", id = pmids, rettype = "xml",
parsed = TRUE)
abstracts <- xpathApply(data.pubmed, "//Abstract", xmlValue)
names(abstracts) <- pmids
すべてのレコードにアブストラクトがある場合、うまく機能します。ただし、PMID (#23733758) に公開された抄録 (または書籍の記事など) がない場合は、スキップされてエラーになります。'names' attribute [5] must be the same length as the vector [4]
Q: 複数のパス/ノードを渡して、雑誌の記事、書籍、またはレビューを抽出する方法を教えてください。
更新: hrbrmstr ソリューションは、NA に対処するのに役立ちます。しかし、xpathApply
のように複数のノードを取ることができc(//Abstract, //ReviewArticle , etc etc )
ますか?