varias superponer studio modificar lineas graficos graficas ejes r

studio - superponer graficas en r



ver código fuente en R (4)

Esta pregunta ya tiene una respuesta aquí:

¿Cómo veo el código fuente en R? Por ejemplo, para la función portfolio.optim

> require(tseries) > portfolio.optim function (x, ...) UseMethod("portfolio.optim") <environment: namespace:tseries> > methods(portfolio.optim) [1] portfolio.optim.default* portfolio.optim.ts* Non-visible functions are asterisked > portfolio.optim.ts Error: object ''portfolio.optim.ts'' not found > portfolio.optim.default Error: object ''portfolio.optim.default'' not found

Cuando instalo el paquete R localmente, ¿también descarga el código fuente? ¿Dónde se almacena en la computadora? ¿Alguien sabe?


  1. En respuesta a Non-visible functions are asterisked , esto significa que las funciones reales que se distribuyen en ts u objetos predeterminados, respectivamente, están en el espacio de nombres tseries pero no se exportan. Entonces, simplemente escriba tseries:::portfolio.optim.default y verá el código de función una vez que especifique el parche completo, incluido el espacio de nombres.

  2. Si R descarga la fuente o un binario depende de su sistema operativo. En cualquier caso, la fuente para el paquete tseries está disponible . Leer el código fuente escrito por codificadores experimentados es una buena manera de aprender.


La función getAnywhere es útil cuando no sabes en qué espacio de nombres es una función.

Se describe en el manual o en la página de ayuda de la función.


Lo que puede hacer para la mayoría de las funciones es ingresar edición (nombre de la función ) en la ventana de comandos en R. Donde ingresa el nombre de la función con el nombre.

Como resultado, puede obtener el código fuente de la función. Sin embargo, lo probé para la función portfolio.optim, así que ahí no funciona. Posiblemente sólo para funciones estándar.


Si lo que desea ver es la fuente de un método en particular, tiene un par de opciones. Una es usar debug (portfolio.optim) . Luego, cuando ejecuta la función en un objeto, debe ir paso a paso a través del método, imprimiendo el código a medida que avanza. Use ''n'' para que pase, y no olvide usar undebug (portfolio.optim) cuando haya terminado.

Alternativamente, puede descargar la fuente del paquete que necesita, descomprimirlo y buscar cualquier archivo con nombres prometedores (este enfoque es difícil, porque la función que está buscando puede estar escrita en C!). Esto es más fácil que buscar el código en un binario. Si va por esta ruta, el código debería estar disponible en una carpeta comprimida dondequiera que descargue.