我正在尝试使用mclapply并行运行块。我不知道它是否可行,但我想做的是使用提供的函数中提供给mclapply的列表中的项对数据帧进行子集化。
我已经尽力了。
df=data.frame(chr=c(rep('chr1',5),rep('chr2',5)),pos=c(rep(500,10)))
x=unique(df$chr)
f=function(){s=subset(df,chr==x)
p=sum(s$pos)
r=rbind(data.frame(),p)
}
mclapply(x,f(),mc.cores=28)
显然,这已大大简化了,但主要的工作是通过chr进行子集设置,并在多个线程中运行每个线程。