È possibile prendere un file rmarkdown, modificare a livello di programmazione le opzioni di blocco e quindi knit
in base al documento modificato?rmarkdown: manipola le opzioni del blocco programmaticamente?
Ho alcuni file rmarkdown che voglio purl
, con tutti i codici (anche quelli con eval=FALSE
) inclusi.
A questo punto, la mia ipotesi migliore è che ho potuto (1) utilizzare sed
per passare eval=FALSE
-eval=TRUE
, e poi (2) purl
. Ma mi piacerebbe se c'è qualcosa di più bello, per esempio forse come:
parsed_rmd <- knitr::parse_rmd('my_rmarkdown.rmd')
for (chunk in parsed_rmd) {
chunk$eval <- TRUE
}
knitr::purl(parsed_rmd, output = 'my_rmarkdown_as_r.R'
Possibile duplicato di [Conditional \ 'echo \ '(o eval o include) nei blocchi rmarkdown] (http://stackoverflow.com/questions/25354903/conditional-echo-or- eval-or-include-in-rmarkdown-chunks) –
Non è un duplicato. Quella domanda dice "C'è un modo per impostare un interruttore all'inizio del Rmd ..." - la mia domanda non è chiedere di modificare il file 'Rmd', ma come manipolare l'elaborazione di un file' Rmd' che io Non sono libero di modificare. – DavidC
Se l'Rmd aveva variabili in quei punti (come eval = doEval), probabilmente si potrebbe fare "eval <- FALSE; knit ("file.Rmd") 'Senza modificare ulteriormente il file Rmd. Funzionerebbe? –