2012-03-27 7 views
5

Sto facendo alcune analisi qualcosa di simile:Posso dire al pacchetto R plyr di funzionare in parallelo di default?

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

Esiste un modo per rendere tutte le funzioni plyr parallelo per impostazione predefinita, in modo da non avere sempre specificare .parallel=TRUE per ogni passo?

+0

Oltre alla soluzione seguente, sembra che esista una funzione chiamata "set.defaults" nel pacchetto 'diversitree' che può farlo. –

risposta

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

Dovreste setDefaults su ogni funzione per la quale si desidera modificare le formali predefiniti. Puoi metterlo nel tuo profilo .RR se vuoi.

È anche possibile fare confusione con le formali direttamente. per esempio. formals(llply)$.parallel <- TRUE dovrebbe funzionare.

+1

Solo per FYI, sembra che il pacchetto Defaults non sia più disponibile su CRAN, quindi dovrai fare confusione con le formali direttamente. –

Problemi correlati