tutorial the language guide examples español definitive chunk r rstudio knitr

the - Cómo usar objetos del entorno global en Rstudio Markdown



r markdown the definitive guide pdf (4)

Al ir a ''Herramientas'' y ''Opciones globales'' de RStudio y visitar la pestaña ''R Markdown'', puede hacer una selección en ''Evaluar trozos en el directorio'', allí seleccionar la opción ''Documentos'' y el motor de tejido R Markdown será Acceso al entorno global como lo hace el código R simple. Espero que esto ayude a aquellos que buscan esta información!

He visto preguntas similares sobre Stack Overflow pero prácticamente no hay respuestas concluyentes, y ciertamente ninguna respuesta funcionó para mí.

¿Cuál es la forma más fácil de acceder y usar objetos (ajustes de regresión, marcos de datos, otros objetos) que se encuentran en el entorno global R en el script Markdown (Rstudio)?

Me sorprende que no haya una solución fácil para esto, dada la tendencia del equipo de RStudio a hacer que las cosas sean cómodas y efectivas.

Gracias por adelantado.


Creo que resolví este problema refiriéndome al paquete explícitamente en el código que se está tejiendo. Usando el paquete yarrr , por ejemplo, cargué el marco de datos "piratas" usando data(pirates) . Esto funcionó bien en la consola y dentro de un fragmento de código de Rstudio, pero con Knitr falló al seguir el patrón en la pregunta anterior. Sin embargo, si cargué los datos en la memoria al crear un objeto utilizando pirates <- yarrr::pirates , el documento se tejió de forma limpia con HTML.


Para bien o para mal, esta omisión es intencional. Confiar en objetos creados fuera del documento hace que su documento sea menos reproducible, es decir, si su documento necesita datos en el entorno global, no puede simplemente entregar a alguien (oa usted mismo en dos años) el documento y los archivos de datos y dejar que vuelvan a crearse. ellos mismos

Por este motivo, y para realizar el procesamiento en segundo plano, RStudio crea realmente una sesión R separada para representar el documento. Esa sesión R de fondo no puede ver ninguno de los entornos en la sesión R interactiva que ve en RStudio.

La mejor manera de evitar este problema es tomar el código que usó para crear el contenido de su entorno global y moverlo dentro de su documento (puede usar echo = FALSE si no desea que aparezca en el documento). Esto hace que su documento sea autónomo y reproducible.

Si no puede hacer eso, hay algunos enfoques que puede tomar para usar los datos en el entorno global directamente:

  1. En lugar de usar el botón Knit HTML , escriba rmarkdown::render("your_doc.Rmd") en la consola R. Esto se tejerá en la sesión actual en lugar de una sesión en segundo plano. Alternativamente:

  2. Guarde su entorno global en un archivo .Rdata antes de renderizar (use la función de save de R) y load en su documento.


Yo mismo tengo el mismo problema. Algunas cosas requieren bastante tiempo para reproducirse cada vez.

Creo que podría haber otra respuesta. ¿Qué save.image() si guarda su entorno con la función save.image() en un archivo diferente al archivo .Rdata estándar .Rdata Luego, tráigalo con load() .

Para asegurarse de que está utilizando los mismos datos, use el md5sum() de herramientas .

Saludos cordon