1

我正在尝试从 Windows 机器上的 parLapply 函数访问 big.matrix(不是文件支持)。但是,调用 big.matrix 时 R 崩溃 - “R for Windows 前端停止工作”。

我需要先附加 big.matrix 吗?我该怎么做呢?非常感谢任何帮助。

require(parallel)
require(bigmemory)

data <- matrix(rnorm(10^8),ncol=1000)
data.big <- as.big.matrix(data)

cl <- makeCluster(2)

parLapply(cl,1:2,function(x,data.big){
  require(bigmemory)
  data.big[x,1] # this line causes R to crash
},data.big)

stopCluster(cl)
4

1 回答 1

4

你想用来attach.big.matrix访问共享内存。这是通过使用来自 的信息来完成的describe。以下应该工作。

datadesc <- describe(data.big)

parLapply(cl,1:2,function(x,datadesc){
  require(bigmemory)
  data.big <- attach.big.matrix(datadesc)
  data.big[x,1] # this line causes R to crash
},datadesc)
于 2016-06-09T18:27:50.537 回答