Nel bene o nel male, questa omissione è intenzionale. Affidarsi a oggetti creati al di fuori del documento rende il tuo documento meno riproducibile - cioè, se il tuo documento ha bisogno di dati nell'ambiente globale, non puoi semplicemente dare a qualcuno (o te stesso in due anni) i documenti e i file di dati e lasciarli ricreare loro stessi
Per questo motivo, e per eseguire il rendering in background, RStudio crea effettivamente una sessione R separata per il rendering del documento. Quella sessione R in background non può vedere nessuno degli ambienti nella sessione R interattiva che vedi in RStudio.
Il modo migliore per risolvere questo problema è prendere il codice utilizzato per creare i contenuti del proprio ambiente globale e spostarlo all'interno del documento (è possibile utilizzare echo = FALSE
se non si desidera che venga visualizzato nel documento) . Ciò rende il tuo documento autonomo e riproducibile.
Se non è possibile fare questo, ci sono alcuni approcci che si possono adottare per utilizzare i dati nel contesto globale direttamente:
Invece di usare il pulsante Knit HTML, tipo rmarkdown::render("your_doc.Rmd")
a la console R. Questo verrà creato nella sessione corrente anziché in una sessione in background. In alternativa:
Salvare l'ambiente globale in un file .Rdata prima del rendering (utilizzare la funzione R save) e load nel documento.
Come si elabora il file RMarkdown? Premendo il pulsante "knit HTML" o eseguendo un comando 'knit' da qualche parte? – arvi1000
Spingo "maglia HTML": potrebbe essere questo il problema? –
Sì. Vedere la risposta sotto – arvi1000