我已经提供了一些示例代码,以帮助您了解我的问题。
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
}
}
当我尝试使用并行包doSNOW
和foreach
时,它会给我一些错误:
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)
由于需要更多时间,因此我想使用doSNOW
和foreach
个包,但会收到上述错误。