R mclappy()在写入全局变量的函数中的应用
我正在尝试使用R mclappy()在写入全局变量的函数中的应用,r,parallel-processing,lapply,mclapply,R,Parallel Processing,Lapply,Mclapply,我正在尝试使用parallel::mclappy来加速以下代码的计算: library(raster) library(HistogramTools)#for AddHistogram #Create a first h here for the first band... omitted for brevity readNhist <- function(n,mconst) { l <- raster(filename[i], varname=var[i], band=n,
parallel::mclappy
来加速以下代码的计算:
library(raster)
library(HistogramTools)#for AddHistogram
#Create a first h here for the first band... omitted for brevity
readNhist <- function(n,mconst) {
l <- raster(filename[i], varname=var[i], band=n, na.rm=T)
gain(l) <- mconst
h <<- AddHistograms(h, hist(l, plot=F, breaks=histbreaks,right=FALSE))
}
lapply( 1:10000, readNhist, mconst=1, mc.cores=7 )
#Then do stuff with the h histogram...
库(光栅)
库(HistorogramTools)#用于添加直方图
#在此处为第一个乐队创建第一个h。。。为简洁起见省略
readNhist问题是问题的根源是在文本中使用,您在下面提到mclappy
,但事实上,代码在文本之上。这是一个打字错误还是我遗漏了什么?@RomanLuštrik,我的错,我现在就来解决。输入错误。@Roland,谢谢你的提示,我很快就会讲的。我怀疑你可以自己回答这个问题。
library(raster)
library(HistogramTools)#for AddHistogram
library(parallel)
#Create a first h here for the first band... omitted for brevity
readNhist <- function(n,mconst) {
l <- raster(filename[i], varname=var[i], band=n, na.rm=T)
gain(l) <- mconst
h <<- AddHistograms(h, hist(l, plot=F, breaks=histbreaks,right=FALSE))
}
mclapply( 2:10000, readNhist, mconst=1 )
#Then do stuff with the h histogram...
readNhist <- function(n,mconst) {
l <- raster(filename, varname=var, band=n, na.rm=T)
gain(l) <- mconst
hist <- hist(l, plot=F, breaks=histbreaks,right=FALSE)
return(hist)
}
hists <- mclapply( 2:nbands, readNhist, mconst=gain, mc.cores=ncores )
ch <- AddHistograms(x=hists)
h <- AddHistograms(h, ch)
rm(ch, hists)