假设我们有:
full_data
作为数据框,其尺寸为:1000x110
,inputs_indexes
作为值的向量:1:100
,labels_indexes
作为值的向量:101:110
,ext_obj = array(NA, c(100, 100, 10))
方法之前,已在文件中定义了parSapply()
。 我想并行修改它,所以我正在以这种方式准备环境:
socket_cluster = makeCluster(detectCores() - 1)
clusterEvalQ(socket_cluster, require(infotheo))
clusterExport(socket_cluster, c("full_data", "labels_indexes", "ext_obj"))
执行以下代码时,无法修改ext_obj
:
sapply(labels_indexes, function(label)
{
parSapply(socket_cluster, inputs_indexes, function(candidate)
{
sapply(1:candidate, function(taken)
{
ext_obj[candidate, taken, label - 100] <<- interinformation(data.frame(full_data[, candidate], full_data[, taken], full_data[, label]))
})
})
})
有没有办法对单个对象进行并行计算?