どのように私は、自動的にファイルのサイズを大きくすることなく、並行して、ファイルを保存することができますか?

ディマハ:

私は正確に同じことをやっていることを2つのスクリプトを持っています。

しかし、一つのスクリプトは、3つのRDATAファイルを生成していることの重み82.7キロバイト、および3つのRDATAファイルその重み120キロバイトを作成し、他のスクリプト。

最初のものは、並列なしです。

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)))

 })

第二は、平行です。

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)

2番目のスクリプトは、重量42%以上というファイルを作成します。

どのように私は、自動的にファイルのサイズを大きくすることなく、並行して、ファイルを保存することができますか?

ロジャー-123:

他の人が述べたように、あなたはおそらく、ファイルが非常に小さいことを除いて、気づかないであろうと、ファイルまたは類似の保存されていた環境に関する情報のいくつかの小さな量があるかもしれません。

あなたは、単にファイルのサイズに興味があるなら、1つのリストにモデルを保存しようとした後、一つのファイルにすることを保存します。 ddply我々が使用する必要があるので、唯一、関数から結果としてdata.frameを扱うことができdlply、リスト内の結果を格納するためにそれを伝えるために代わりに。こうするには60Kだったただ一つのファイルに保存されました。

ここで私が話しているかの例です:

library("plyr")
doSNOW::registerDoSNOW(cl<-snow::makeCluster(3))
models<-dlply(.data = iris,
      .variables = "Species",
      .parallel=TRUE,##With parallel
      .fun = function(SpeciesData){

        #Create Simple Model -------------------------------------------------------------  
        lm(formula = Sepal.Length~Sepal.Width+Petal.Length+Petal.Width, data = SpeciesData)
      })
snow::stopCluster(cl)

save(models, compress= FALSE, file= 'combined_models')

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=30335&siteId=1