在foreach R中使用IF

时间:2015-03-28 01:26:46

标签: r foreach parallel-processing

我试图并行运行foreach循环,以便在给定IF条件的情况下执行。

我想查看全局环境中的数据框名称列表(data.list),并将名称打印为少于2列的表列表。

到目前为止,我有:

#This simply creates a vector of strings of names of data tables   
data.list <- ls(pattern=paste("^", dsn[1], sep=""))

registerDoSNOW(makeCluster(cores, type='SOCK', outfile=''))
data.remove <- foreach(i=length(data.list), .combine=c) %dopar% {
  if ((length(get(data.list[i]))<2)==TRUE) {print(data.list[i])}
}

但我不确定它是否应该更像:

data.remove <- foreach(i=data.list, .combine=c) %dopar% {
  if ((length(get(i))<2)==TRUE) {print(i)}
}

两者都不起作用并说:

Error in { : task 1 failed - "object 'EOADB_PRB.3200.hdd' not found"

该对象是表名之一。

0 个答案:

没有答案