2012-03-27 3 views
5

ich einige Analysen so etwas wie dies zu tun:Kann ich dem R-plyr-Paket mitteilen, dass es standardmäßig parallel arbeitet?

library(plyr) 
input.files <- c("file1.txt", "file2.txt", "file3.txt") 
input.data <- llply(input.files, load.file, .parallel=TRUE) 
step.one.results <- llply(input.data, step.one, .parallel=TRUE) 
step.two.results <- llply(step.one.results, step.two, .parallel=TRUE) 
... 
step.N.results <- llply(`step.N-1.results`, step.N, .parallel=TRUE) 
... 

Gibt es eine Möglichkeit alle plyr Funktionen parallel standardmäßig zu machen, also muss ich für jeden Schritt nicht angeben, immer .parallel=TRUE?

+0

Zusätzlich zu der untenstehenden Lösung sieht es so aus, als ob es eine Funktion namens 'set.defaults' im' diversitree'-Paket gibt, die dies tun kann. –

Antwort

9
library(Defaults) 
setDefaults(llply, .parallel=TRUE) 

würden Sie haben zu jeder Funktion zu setDefaults, für die Sie die Standard Formalen ändern möchten. Sie können dies in Ihr .Rprofile einfügen, wenn Sie möchten.

Sie können auch direkt mit den Formals umgehen. z.B. formals(llply)$.parallel <- TRUE sollte funktionieren.

+1

Nur FYI, es sieht so aus, als ob das Defaults-Paket nicht mehr auf CRAN verfügbar ist, also müssen Sie direkt mit den Formals umgehen. –

Verwandte Themen