我正在尝试从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)
答案 0 :(得分:3)
您想使用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)