On Tue, Nov 10, 2015 at 9:00 AM, Yihui Xie <x...@yihui.name> wrote: > The short answer is you cannot. Inline R code is always evaluated. > When it is not evaluated, I doubt if your output still makes sense, > e.g. "The value of x is `r x`." becomes "The value of x is ." That > sounds odd to me. > > If you want to disable the evaluate of inline code anyway, you may use > a custom function to do it. e.g. > > cond_eval = function(x) { > if (isTRUE(knitr::opts_chunk$get('eval'))) x > } > > Then `r cond_eval(x)` instead of `r x`. > > Regards, > Yihui > -- > Yihui Xie <xieyi...@gmail.com> > Web: http://yihui.name > > > On Tue, Nov 10, 2015 at 4:40 AM, Witold E Wolski <wewol...@gmail.com> wrote: >> I do have an Rmd where I would like to conditionally evaluate the second >> part. >> >> So far I am working with : >> >> ```{r} >> if(length(specLibrary@ionlibrary) ==0){ >> library(knitr) >> opts_chunk$set(eval=FALSE, message=FALSE, echo=FALSE) >> } >> ``` >> >> Which disables the evaluation of subsequent chunks. >> >> However my RMD file contains also these kind of snippets : `r ` >> >> How do I disable them?
Just a FYI and maybe/maybe not a option for you; this is one of the use cases where RSP (https://cran.r-project.org/package=R.rsp) is handy because it does not require that code snippets (aka "code chunks" as originally defined by weave/tangle literate programming) to contain complete expressions. With RSP-embedded documents, you can do things such <% if (length(specLibrary@ionlibrary) > 0) { %> [... code and text blocks to conditionally include ...] <% } # if (length(specLibrary@ionlibrary) > 0) %> or include from a separate file, e.g. <% if (length(specLibrary@ionlibrary) > 0) { %> <%@include file="extras.md.rsp"%> <% } %> You can also use loops over a mixture of code and text blocks etc. Depending on when 'specLibrary@ionlibrary' gets assigned, you could preprocess you R Markdown file with RSP, but for this to work out of the box you basically need to know the value length(specLibrary@ionlibrary) before your R Markdown code is evaluated, i.e. before you compile the Rmd file. Your build pipeline would then look something like: rmd <- R.rsp::rfile("report.rmd.rsp") rmarkdown::render(rmd) /Henrik (author of R.rsp) >> >> regards >> >> >> >> -- >> Witold Eryk Wolski > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.