0

我很抱歉,因为我知道这个问题以前曾被问过,但我已经尝试了大多数答案的变体,但没有任何帮助。

我正在使用 foreach 包在一组数据上运行 NMF 算法的循环。我是他们试图使用 ExtractFeatures 函数提取一组基础名称,该函数将每次运行输出为您确定的等级的列表(在我的示例中为 3)。

下面是我的代码(我使用了 NMF Vignette 中的示例数据集):

library("NMF")
library("doParallel")
library("foreach")

#load vignette dataset and shorten it for time's sake
data(esGolub)
esGolub <- esGolub[1:200,]

#output matrix
Extract_Genes <- matrix()

#set cores
registerDoParallel(cores = 3)

#Loop NMF runs and extract features
foreach(i =1:4, .packages = "NMF") %dopar%{
  i <- nmf(esGolub, 3, nrun = 1)
  Extract_Genes <- extractFeatures(i, format = "list")
}

这会输出提取的基因列表,如下所示:

[[1]]
[[1]][[1]]
[1]  43 120 128 130

[[1]][[2]]
[1]  94   1 112  42   8  64  96 182  59  41  69  25  26

[[1]][[3]]
[1]  39  74   2  91 190 167 103 129 174

3次运行3次,但没有保存。有人对我如何保存这些输出有任何建议吗?

提前谢谢你,J

4

1 回答 1

0

Imo 的评论效果很好:

myList <- foreach(i =1:4, .packages = "NMF") %dopar%{
于 2016-05-24T13:40:19.567 回答