R语言的内置并行包parallel,可以进行多线程调用。其使用方法类似于apply家族函数,常用parApply parLapply parSaplly等函数,使用方法如下:
library(parallel) #并行计算 常用parApply parLapply parSaplly
detectCores() #检测计算机核心数
cl <- makeCluster(16) #指定调用的核心数
efflen <- parLapply(cl,exon_bygeneid,function(x){
tmp <- apply(x,1,function(y){ y[1]:y[2] }) #输出exon长度值所有元素
length(unique(unlist(tmp))) #去重复并统计exon长度元素的数量
})
#stopCluster(cl) #停止多核计算功能
#要注意使用时par内不能再嵌套par
网友评论