【发布时间】:2013-06-13 23:29:44
【问题描述】:
我遇到了一个奇怪的错误。 假设我在一个名为 data 的列表中有 10 个 xts 对象。我现在使用
搜索每三个组合 data_names <- names(data)
combs <- combn(data_names, 3)
我的基本目标是对这 1080 个三元组进行 PCA。 为了加快速度,我想使用包 doParallel。所以这里是缩短到错误发生点的sn-p:
list <- foreach(i=1:ncol(combs)) %dopar% {
tmp_triple <- combs[,i]
p1<-data[tmp_triple[[1]]][[1]]
p2<-data[tmp_triple[[2]]][[1]]
p3<-data[tmp_triple[[3]]][[1]]
data.merge <- merge(p1,p2,p3,all=FALSE)
}
在这里,合并功能似乎是问题所在。错误是
任务 1 失败 - “无法将类 'c("xts", "zoo")' 强制转换为 data.frame”
但是,当将 %dopar% 更改为正常的串行 %do% 时,一切正常。
到目前为止,我无法找到任何解决此问题的方法,我什至不确定要寻找什么。
【问题讨论】:
标签: r foreach parallel-processing xts