r - 使用 rentrez 从 pubmed 解析作者和隶属关系

标签 r xml author pubmed rentrez

我的总体目标是构建一个共同作者网络图。我有一个 PubMed ID 的列表,这些是我唯一感兴趣的关于共同作者网络图表的出版物。我无法弄清楚如何使用 rentrez 在我的查询中同时获取作者姓名和各自的从属关系。我可以获得这两个信息,但我的隶属关系列表比我的作者列表少了大约 300,所以显然有些人没有提供从属关系,但我不知道是谁。有什么方法可以同时搜索作者和隶属关系吗? [当我在我的 entrez_fetch 中执行这两项操作时,它只是分别给了我一个作者和附属机构的列表,所以我仍然无法弄清楚哪些附属机构属于哪些作者。]

library(tidyverse)
library(rentrez)
library(XML)

trial<-entrez_fetch(db="pubmed", id=pub.list$PMID, rettype="xml", parsed=TRUE)
affiliations<-xpathSApply(trial, "//Affiliation", xmlValue)
first.names<-xpathSApply(trial, "//Author/ForeName", xmlValue)

一切正常,但我无法弄清楚哪些作者属于哪些隶属关系,因为他们的长度不同。

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

你可以尝试这样的事情:

xpathSApply(trial, "//Author", function(x) {
  author_name <- xmlValue(x[["LastName"]])
  author_affiliation <- xmlValue(x[["AffiliationInfo"]][["Affiliation"]])
  c(author_name,author_affiliation)
  })

它通过为每个 //Author 节点获取这些值,在第一行返回作者的姓氏,在第二行返回他们的隶属关系。

关于r - 使用 rentrez 从 pubmed 解析作者和隶属关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42398935/

相关文章:

r - 在过滤器中使用 str_detect 和 & 的简写

r - 将标题添加到将与 map() 一起使用的函数中的 ggplot 对象

windows - 使用 git 和 curl 命令行

R : How to detect and fix abnormal values on plot?

xml - Plone - XSLT/Diazo - 替换 Plone Portal-personaltools 标记

html - 我们可以在 XSLT 中使用从数据库表中获取的值吗?

xml - 如何在 golang 中制作自定义类型(字符串)编码 CDATA 格式?

git - 按作者或分支过滤 git 日志

Drupal 6 - 更改节点的作者

git - gitk 可以显示除给定作者的提交之外的所有提交吗?