Tengo algunos archivos .Rdata que contienen funciones guardadas tal como se define en approxfun().modificar el texto del cuerpo de los objetos de funciones existentes
Algunos de los archivos de salvar anteriores al cambio de approxfun de "base" paquete de "estadísticas", por lo que el cuerpo tiene
PACKAGE = "base"
y el paquete incorrecto hace que la función falle. Puedo arreglarlo (myfun) y simplemente reemplazar "base" por "stats", pero quiero una forma automática más ordenada.
¿Puedo hacer esto con gsub() y body() de alguna manera?
yo puede conseguir el texto del cuerpo y el sustituto de allí con
as.character(body(myfun))
pero no saben cómo convertir de nuevo en que una "llamada" y reemplazar la definición.
(Sé que una solución mejor es haber guardado los datos utilizados originalmente por approxfun y simplemente volver a crear la función, pero me pregunto si hay una manera sensata de modificar la existente.)
Edición: He encontrado aquí
What ways are there to edit a function in R?
posible duplicado de [? ¿Qué formas hay de editar una función en R] (http://stackoverflow.com/questions/2458013/what-ways-are-there-to-edit-a-function-in-r) –
Intenté 'body (foo) <- gsub (" PACKAGE = 'base' "," PACKAGE = 'stats' " , body (foo)) 'para ti, pero body() no devuelve texto por lo que no puedes usar la manipulación de texto para cambiarlo. Lo verifiqué con @MrFlick –
¿podría escribir su propia respuesta para que esta publicación ya no quede "sin respuesta"? –