运行easyPubMed从数据框列中逐行查询

时间:2018-02-01 10:25:49

标签: r pubmed

我有一个如下的数据框;

enter image description here

我想使用easyPubMed包在Pubmed中逐行查询。对于每一行/查询应该获取PMID列表。此列表应在另一个名为“PMID”的列中重新执行。

1 个答案:

答案 0 :(得分:0)

这可能有效

library(easyPubMed)
library(purrr)
Query <- c('rituximab OR bevacizumab','meningitis OR headache')
Heading <- c('A','B')
x <- as.data.frame(cbind(Heading,Query),stringsAsFactors = F)
x$PMID<- ""
ids <- map(x[,"Query"],get_pubmed_ids)
for (i in 1:length(ids)) {
  x[i,"PMID"]<- paste(ids[[i]][["IdList"]],collapse = ",")
}

我认为“sapply”不会返回预期的结果,所以从“purrr”包中走“map”方式更安全。