2012-04-18 16 views
7

È possibile modificare i valori predefiniti dei parametri formali in una funzione R in fase di esecuzione?Modifica degli argomenti predefiniti di una funzione R in fase di esecuzione

Supponiamo, abbiamo la funzione di

f <- function(x=1) { 
    ... 
} 

posso in qualche modo modificare il valore predefinito di x da 1 a, diciamo, 2?


Grazie in anticipo,
Sven

+0

Una domanda interessante, ma suona un po 'pericoloso. Perché vorresti farlo? – csgillespie

+0

Sto cercando di implementare una VM per R, quindi ho bisogno di sapere se le firme delle funzioni possono essere considerate immutabili. –

+0

http://stackoverflow.com/questions/9895811/can-i-tell-the-r-plyr-package-to-work-in-parallel-by-default/9895903#9895903 – GSee

risposta

4

Sì, il pacchetto Defaults permette di fare questo.

+0

Grazie mille! –

+4

Ho trovato un altro modo per portare a termine questo compito: formals (f) = pairlist (x = 1) –

+3

@SvenHager: questo è essenzialmente ciò che fa Defaults, e potresti voler usare 'alist' invece di' list' o 'pairlist '. –

0

Un'alternativa (mostrato in una diversa SO post) è quello di utilizzare la funzione formals, es .:

formals(f) <- 2

Problemi correlati