首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将每个for循环的结果保存为新的数据帧。

将每个for循环的结果保存为新的数据帧。
EN

Stack Overflow用户
提问于 2017-04-21 13:29:18
回答 1查看 916关注 0票数 1

这是我的第一篇文章,我对此表示歉意。

我正在尝试用函数RNAseq ()从cBioPortal中提取getProfileData数据。我想用从列表元素生成的参数对列表中的每个元素调用这个函数。我包括了一个库,例如癌症和这个功能可以调用的例子基因。

代码语言:javascript
复制
library(cgdsr)
mycgds = CGDS("http://www.cbioportal.org/")

cancers1 = c("cesc_tcga", "ov_tcga", "ucs_tcga", "ucec_tcga")
genes = c("PTCH1", "PTCH2")

mRNAseqExtractor <- function(){   
  for(i in cancers1){
    i_RNAseq <- paste(i, "_rna_seq_v2_mrna", sep="")        
    i_all <- paste(i, "_all", sep="")        
    getProfileData(mycgds, genes, i_RNAseq, i_all)   } }

mRNAseqExtractor()

基本上,我希望这个循环的每一次迭代都将这个getProfileData(mycgds、hedgehog_genes、i_RNAseq、i_all)的输出保存到一个新的数据框架中。

PS。我正在寻找类似的帖子,但在每次迭代中都找不到生成新的全局数据帧的帖子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-21 13:40:03

您可以使用lapply返回数据格式的列表。

代码语言:javascript
复制
profiles <- lapply(cancers1, function(i) {
    i_RNAseq <- paste(i, "_rna_seq_v2_mrna", sep="")        
    i_all <- paste(i, "_all", sep="")        
    getProfileData(mycgds, genes, i_RNAseq, i_all)
})

然后,您可以访问以下各个数据帧:

代码语言:javascript
复制
# access first data frame
print(profiles[[1]])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43544023

复制
相关文章

相似问题

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