2012-04-18 8 views
7

¿Es posible cambiar los valores predeterminados de los parámetros formales en una función R en tiempo de ejecución?Cambiar los argumentos predeterminados de una función R en el tiempo de ejecución

Asumamos, tenemos la función

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

puede de alguna manera cambiar el valor por defecto de x de 1 a, digamos, 2?


Gracias de antemano,
Sven

+0

Una pregunta interesante, pero suena un poco peligroso. ¿Por qué querrías hacer eso? – csgillespie

+0

Estoy tratando de implementar una VM para R, por lo tanto, necesito saber si se puede asumir que las firmas de funciones son inmutables. –

+0

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

Respuesta

4

Sí, el paquete Defaults le permite hacer esto.

+0

¡Muchas gracias! –

+4

he encontrado otra manera de realizar esta tarea: formales (f) = pairlist (x = 1) –

+3

@SvenHager: eso es esencialmente lo que hace por defecto, y es posible que desee utilizar 'alist' en lugar de' 'list' o pairlist '. –

0

Una alternativa (que se muestra de una manera diferente SO post) es usar la función formals, por ejemplo .:

formals(f) <- 2

Cuestiones relacionadas