Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

knit_child in a Rmd file is printing unwanted output

Tags:

r

knitr

I had succesfully used knit_child for generating pdf files, following the code of http://yihui.name/knitr/demo/child/, but when I try to use that example in a .Rmd file:

```{r, results='asis', echo=FALSE, message=FALSE}
out = NULL
for (p in c("p1","p2","p3","p4","p5","p6","p7","p8","p9","p10")) {
  out = c(out, knit_child('quick_variable.Rmd'))
  cat(out)
}
```

(I modify the original code, for work in Rmd).

I have two problems, the first one:

|
| | 0% |
|... | 5% ordinary text without R code

|
|....... | 11% label: unnamed-chunk-4 (with options) List of 1 $ echo: logi FALSE

|
|.......... | 16% ordinary text without R code

|
|.............. | 21% label: unnamed-chunk-5 (with options) List of 2 $ echo : logi FALSE $ results: chr "asis"
.... 
(the output follows)

Obviously all this output is unwanted. I believe that this problem is related to the use of cat in the code above, but if I remove that, no output, no plots is printed. What can I do for solving this?

Thanks in advance

like image 964
nanounanue Avatar asked Sep 20 '13 18:09

nanounanue


1 Answers

You can collect the results in out, and write it to the output later in an inline R expression, e.g.

```{r include=FALSE}
out = NULL
for (p in c("p1","p2","p3","p4","p5","p6","p7","p8","p9","p10")) {
  out = c(out, knit_child('quick_variable.Rmd'))
}
```
`r paste(out, collapse='\n')`
like image 54
Yihui Xie Avatar answered Oct 31 '22 13:10

Yihui Xie