Solución:
Para bien o para mal, esta omisión es intencional. Depender de los 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 entregarle a alguien (oa usted mismo en dos años) el documento y los archivos de datos y dejar que se vuelvan a crear. ellos mismos.
Por esta razón, y para realizar el renderizado en segundo plano, RStudio crea una sesión de R separada para renderizar el documento. Esa sesión de fondo de R no puede ver ninguno de los entornos en la sesión de R interactiva que ve en RStudio.
La mejor manera de solucionar 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 quiere 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:
-
En lugar de usar el Tejer HTML botón, tipo
rmarkdown::render("your_doc.Rmd")
en la consola R. Esto se unirá en la sesión actual en lugar de en una sesión de fondo. Alternativamente: -
Guarde su entorno global en un archivo .Rdata antes de renderizar (use la función de guardar de R) y cárguelo en su documento.
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 directorio’, allí seleccione la opción ‘Documentos’ y el motor de tejido de R Markdown estará acceder al entorno global como lo hace el código R simple. ¡Espero que esto ayude a quienes buscan esta información!
Bueno, en mi caso encontré la siguiente solución:
(1) Guarde su entorno global en un archivo .Rdata dentro de la misma carpeta donde tiene su archivo .Rmd. (Solo necesita hacer clic en la imagen del disco que se encuentra en el panel “Medio ambiente global”)
(2) Escriba el siguiente código en su script de Rmarkdown:
load(file = "filename.RData") # it load the file that you saved before
y deja de sufrir.