[R-es] FW: extracción de variables internas de una función.

Jorge Luis Ojeda Cabrera jojeda en unizar.es
Mar Ene 4 10:53:34 CET 2011


Existe una forma de hacer lo que quieres: obtener un resultado
parcial de la ejecución sin rescribir el código, pero es un poco
burda y algo tediosa. La idea es muy sencilla, ejecutar el código
en modo debugger, una vez obtenido el resultado si este se almacena
en A, guardar el contenido de A en .GlobalEnv mediante <<-

Un ejemplo:
 > f <- function(x) {a <- 2*x;a^2}
 > debug(f)
 > f(3)
debugging in: f(3)
debug: {
     a <- 2 * x
     a^2
}
Browse[2]>
debug: a <- 2 * x
Browse[2]>
debug: a^2
Browse[2]> valorDeA <<-a
Browse[2]>
exiting from: f(3)
[1] 36
 > valorDeA
[1] 6
 > undebug(f)

Quizás en codetools exista una utilidad que permita añadir breakpoints
en el futuro... Parece que makeCodeWalker y walkCode (esta última es
parecida a debug) podrían ser útiles, pero no encuentro buena documentación.


Saludos, Jorge.


El 30/12/10 17:46, Patricio Fuenmayor Viteri escribió:
>
> Gracias por sus respuestas.Tocó modificar el código. Estuve investigando, y encontré la librería codetools, que en cierta forma realiza una auditoria de las funciones, pero no halle lo que buscaba. Creo que si es posible, porque si mal no recuerdo, en la versión de Revolution, existe una ventana de variables, y creo haber visto las variables internas, pero menos tiempo me va ha tomar modificar el código, que usar otro front-end, jaja. Por cierto , la librería es forecast y la función auto.arima.Voy a sugerir al desarrollador de la librería, que incluya esto en la versión de distribución, ya que ahorra mucho tiempo y proporciona resultados para análisis posteriores.Saludos.
>
> From: cpfuenmayor en hotmail.com
> To: r-help-es en r-project.org
> Subject: extracción de variables internas de una función.
> Date: Wed, 29 Dec 2010 18:15:14 +0000
>
>
>
>
>
>
>
>
> Hola con todos.Tengo una necesidad y quisiera que me ayuden en esto y saber si es posible.Estoy usando una función de una paquete. Esta función internamente genera una matriz de resultados (lo vi en el código), la cual es manejada como una variable interna, la cual sirve como toma de decisión para el resultado de la función. Yo quisiera saber si es posible utilizar o tener acceso a esta variable, ya que no quisiera modificar el código de la función. Es posible esto???. Obviamente por estar esta matriz en rutina, se elimina de memoria cuando se termina el proceso.
> Gracias de ante mano y felices fiestas!!!...
> Atte. Patricio.
>   		 	   		
> 	[[alternative HTML version deleted]]
>
>
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es