并行包doSNOW和foreach不工作

时间:2015-01-18 15:29:57

标签: r parallel-processing

我已经提供了一些示例代码,以帮助您了解我的问题。

library(doSNOW)
library(foreach)
cl<-makeCluster(2,type='SOCK')
registerDoSNOW(cl)
foreach(i = 1:files, .combine=rbind) %dopar% 
{   
   for(j in 1:nrow(df[[i]]))       
   {    
        key = as.vector(df[[i]][j,1])
        df[p,2]=key
   }
}

当我尝试使用并行包doSNOWforeach时,它会给我一些错误:

task 2 failed - "undefined columns selected"

当我试图理解错误时,put无法解决。请任何人帮忙

编辑: 数据框df包含300个文件,每个50000行,数据框df1包含1个60000行的文件,我想通过使用my汇总一个数据框中的300个文件d1主文件df1 我的示例代码如下所示

df = list.files(pattern=".csv")
df = lapply(daf, function(x) read.csv(x, header = FALSE))
files = length(df)
df1 = read.csv(file.choose())
row1 = nrow(df1)
p = 1
foreach(i = 1:files, .combine=rbind)%dopar%       
{   
    for(j in 1:nrow(df[[i]]))
    {   
        key = as.vector(df[[i]][j,1])
        k = BinSearch(df1[,1], key,row1)    
        if (k != 0)
        {
             d1[p,1] = df1[k,10]
         p+1
    }
 print(d1)

由于需要更多时间,因此我想使用doSNOWforeach个包,但会收到上述错误。

0 个答案:

没有答案