Ho un file Rmd
con un sacco di blocchi di codice nella cache.Come leggere la cache knitr/Rmd nella sessione interattiva?
Ora voglio continuare a sviluppare quello script utilizzando una sessione interattiva per giocare e testare diverse soluzioni prima di mettere il codice finale in un nuovo pezzo del documento.
Con uno script semplice R
, ho potuto semplicemente trovarlo per ottenere la mia sessione interattiva alla pari con l'ultima riga dello script. Tuttavia, ciò comporterebbe la (ri) esecuzione di tutto il codice all'interno della sessione interattiva.
voglio leggere il mio file Rmd
in una sessione interattiva ignorando la Markdown parte & facendo uso della knitr
cache esistente, idealmente senza creare alcun output.
Come posso fare questo?
PS: io non sono alla ricerca di un modo specifico per IDE per impostare questa funzione, ma per un comando che posso correre da una semplice sessione di R in qualsiasi emulatore di terminale.
Voglio davvero evitare ri-scrivere il file Markdown, dal momento che potrei avere un Makefile a seconda che uno.Speravo in qualcosa di simile al tuo secondo suggerimento, ma in modo automatico nell'ordine (immagino che uno debba analizzare l'Rmd, identificare i blocchi di codice, cancellarli, controllare la cache corrispondente, caricare i dati se possibile o eseguire il codice saltando la stampa e trame le affermazioni altrimenti Se non ci fosse alcuna funzione a fare questo o qualcosa di simile, sarebbe bene scriverlo dato che lo userei più e più volte. La cosa più importante è che la cache può dipendere da parametri (anche memorizzati nella cache) sconosciuti al momento della leggendolo – mschilli
@mschilli potresti fornire/dev/null (o un file che non ti interessa) al parametro 'output'? –
@NickK: Potrei e questo funzionerebbe se la cache fosse prodotta da' Rscript - e 'library ("knitr"); knit ("foo.Rmd") "" in primo luogo, è stato comunque prodotto dalla libreria 'Rscript -e' (" knitr "); bar <-" X "; knit ("foo.Rmd") ''e' X' è sconosciuto al momento del caricamento della cache. Questo è uno dei motivi per cui voglio usare la cache: non solo farà risparmiare tempo non ri-calcolare tutto, ma anche la cache conterrà il valore assegnato a 'bar' quando' knit'ing 'foo.Rmd'. – mschilli