如何使用knit_child生成文本输出?

时间:2017-04-07 15:29:58

标签: r knitr

使用knitr运行以下片段:

```{r results='asis'}
df=data.frame(x=c('a','b'),y=1:2)
for (n in c('a','b')){
  text='- inlined `r df[df["x"]==n,]["y"]`'
  cat(paste0(knit_child(text=text,quiet=TRUE),'\n'))
}
```

我得到了输出:

y 1 1

- 内联1 y 2 2

- 内联2

如何纠正此问题以获得所需的输出:

- 内联1

- 内联2

1 个答案:

答案 0 :(得分:1)

发现它......将括号加倍以获得单元格值... Doh!

```{r results='asis'}
df=data.frame(x=c('a','b'),y=1:2)
for (n in c('a','b')){
  text='- inlined `r df[df["x"]==n,][["y"]]`'
  cat(paste0(knit_child(text=text,quiet=TRUE),'\n'))
}
```