首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据存储在来自for loop - rentrez的数据帧中

将数据存储在来自for loop - rentrez的数据帧中
EN

Stack Overflow用户
提问于 2017-04-13 07:45:34
回答 1查看 136关注 0票数 0

我正在尝试使用rentrez包查找具有PubMed条目的SNP列表。当我运行下面的代码时,我得到了一个空的数据帧。我想我没有正确地写入数据帧。

代码语言:javascript
复制
library(rentrez)

term <- c('AKR1C1[GENE] AND snp_pubmed[Filter] AND Homo sapiens[Organism]',
'AKR1C2[GENE] AND snp_pubmed[Filter] AND Homo sapiens[Organism]')

p.snps <- for (i in seq_along(term)) {
  entrez_search(db="SNP",
                term = i,
                usehistory = "y"
                )
}

我想为大约100个基因做这件事。

EN

回答 1

Stack Overflow用户

发布于 2017-04-13 09:28:02

Problems

有几个问题:

  • for循环不返回值
  • entrez_search的第二个参数应该是代表术语的字符串,但是问题中的代码传递给它一个数字
  • 问题引用一个数据框,但返回它的自然方法是"esearch"对象列表(尽管这可能会在以后进一步转换)。

修正后的代码

试试这个:

代码语言:javascript
复制
p.snps <- vector(length = length(term), mode = "list")

for (i in seq_along(term)) {
  p.snps[[i]] <- entrez_search(db = "SNP", term = term[i], history = "y")
}
names(p.snps) <- term

Shorter 或all in one line:

代码语言:javascript
复制
p.snps <- sapply(term, entrez_search, db = "SNP", usehistory = "y", simplify = FALSE)

长格式数据框

要将此列表转换为具有第二列的ids长格式数据框,请执行以下操作:

代码语言:javascript
复制
ids <- lapply(p.snps, "[[", "ids")
stack(ids)

给予:

代码语言:javascript
复制
     values                                                            ind
1  41314625 AKR1C1[GENE] AND snp_pubmed[Filter] AND Homo sapiens[Organism]
2  17344137 AKR1C1[GENE] AND snp_pubmed[Filter] AND Homo sapiens[Organism]
3  11548049 AKR1C1[GENE] AND snp_pubmed[Filter] AND Homo sapiens[Organism]
4   7097713 AKR1C1[GENE] AND snp_pubmed[Filter] AND Homo sapiens[Organism]
...etc...

如果你想要索引值(1,2,...)在stack语句之前运行以下语句,而不是查询字符串:

代码语言:javascript
复制
names(ids) <- seq_along(ids)

在这种情况下,stack语句的输出将是:

代码语言:javascript
复制
     values ind
1  41314625   1
2  17344137   1
3  11548049   1
4   7097713   1
5   3930965   1
6   3763675   1
...etc...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43381357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档