如何在列表中存储DGEExact R对象?

时间:2015-04-30 08:02:50

标签: r list for-loop iteration

我使用edgeR包进行成对比较,但是当我尝试存储exactTest函数的结果时,我遇到了问题,因为我循环遍历所有数据集。有28个比较要执行,最后我想要一个包含由exactTest生成的28个DGEExact对象的列表。

我运行了以下循环:

extest = list()
k = 1
for(i in 1:nlevels(data$samples$group)) {
   for(j in (i+1):nlevels(data$samples$group)) {
      if (i < nlevels(data$samples$group)) {
         extest[k] = exactTest(data, pair=c(i,j))
         k = k+1
      }
   }
}

我收到了针对exactTest()的所有28次执行的以下警告:

28: In extest[k] = exactTest(data, pair = c(i, j)) :
  number of items to replace is not a multiple of replacement length

DGEExact对象的结构丢失了:

> class(extest[1])
[1] "list"
> extest[1]$comparison
NULL

head(extest [1])功能不起作用,整个表格都会打印到屏幕上。

我需要找到一种方法来存储创建时的DGEExact对象,但是将它们的结构和类保留为DGEExact。

我已经将这个问题发布到了seqanswers.com,尽管有一个人付出了相当大的努力来解决问题,但问题仍未得到解决。

之后我需要遍历DGEExact对象,我完全同意这里表达的观点:How to name variables on the fly? 任何建议都会非常感激,因为我确信这是处理R数据类型的一个基本问题,可以帮助许多用户。

0 个答案:

没有答案