我试图并行运行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"
该对象是表名之一。