Ho 2 script che fanno esattamente lo stesso.
Ma uno script produce 3 file RData del peso di 82,7 KB e l'altro script crea 3 file RData del peso di 120 KB.
il primo è senza parallelo:
library("plyr")
ddply(.data = iris,
.variables = "Species",
##.parallel=TRUE,##Without parallel
.fun = function(SpeciesData){
#Create Simple Model -------------------------------------------------------------
Model <- lm(formula = "Sepal.Length~Sepal.Width+Petal.Length+Petal.Width",data = SpeciesData)
#Save The Model -------------------------------------------------------------
save(Model,
compress = FALSE,
file = gsub(x = "Species.RData",
pattern = "Species",
replacement = unique(SpeciesData$Species)))
})
Il secondo è con parallelo:
library("plyr")
doSNOW::registerDoSNOW(cl<-snow::makeCluster(3))
ddply(.data = iris,
.variables = "Species",
.parallel=TRUE,##With parallel
.fun = function(SpeciesData){
#Create Simple Model -------------------------------------------------------------
Model <- lm(formula = "Sepal.Length~Sepal.Width+Petal.Length+Petal.Width",data = SpeciesData)
#Save The Model -------------------------------------------------------------
save(Model,
compress = FALSE,
file = gsub(x = "Species.RData",
pattern = "Species",
replacement = unique(SpeciesData$Species)))
})
snow::stopCluster(cl)
il secondo script crea file che pesano il 42% in più.
Come posso salvare i file in parallelo senza aumentare automaticamente le dimensioni del file?
r lang lock file
e dopo 5 secondi troverai il pacchetto desiderato cran.r-project.org/web/packages/filelock/filelock.pdf