R:在雪簇中使用稀疏矩阵

时间:2016-07-09 20:51:12

标签: r sparse-matrix snow

我正在尝试使用由雪制作的并行集群下的igraph生成的稀疏矩阵,但似乎诸如获取矩阵的总和或执行类似(元素> 0)之类的操作的操作不会发生。即使他们的非并行版本也能工作。这是我想要做的简化示例:

library(igraph)
library(snow)

set.seed(123)
random_graph <- as_adjacency_matrix(erdos.renyi.game(100,0.1))

n_edges <- function(random_graph){
  return(sum(random_graph))
}

n_parallel <- 4
cl <- makeCluster(n_parallel)
clusterExport(cl,ls(),environment())

foo <- parSapply(cl,1:10,function(n){
      return(n_edges(random_graph))
})

如果我运行它,它会返回以下错误

Error in checkForRemoteErrors(val) : 
  4 nodes produced errors; first error: invalid 'type' (S4) of argument

然而,这有效:

> n_edges(random_graph)
[1] 948

由于我已将所有内容导出到群集,因此以某种方式对待数据结构的方式非常奇怪。我错过了什么?

0 个答案:

没有答案