用于编织块的内联命令

时间:2017-12-07 18:02:27

标签: r knitr knitr-spin

gunicorn -b 0.0.0.0:$SERVICE_PORT --workers=2 -t $SERVICE_TIMEOUT rest_api:app 函数非常适合引用文档中的块。例如,给定带注释的R脚本:

knitr::read_chunk

...然后我可以在文档中引用块:

# test.R

## ---- scatter ----------
x <- rnorm(100)
y <- rnorm(100)
plot(y ~ x, pch = 19)

## ---- hists ----------
par(mfrow = c(1, 2))
hist(x)
hist(y)

我的问题是:有没有办法在线进行此操作?我正在寻找一种方法来做类似的事情:

# main.Rnw

\documentclass{article}

\begin{document}
<<setup>>=
library(knitr)
read_chunk("test.R")
@

\begin{figure}
<<scatter>>=
@
\end{figure}

\begin{figure}
<<hists>>=
@
\end{figure}
\end{document}

...或者类似......

\begin{figure}
    \Sexpr{knit_chunk("scatter")}
\end{figure}

...这将具有与以下相同的确切效果:

\Sexpr{"<<scatter>>"}

它不一定是\begin{figure} <<scatter>>= @ \end{figure} - 也许这可以通过knitr文本引用来实现?

BONUS :如果我可以在R脚本中设置块选项,那就更棒了。我知道bookdown(和knitr::spin)允许你这样做:

knitr::spin_child

如果块引用有类似的语法,那将是很棒的 - 即如果这样可行:

# test.R 

#+ scatter, fig.width = 3, fig.height = 3
plot(y ~ x)

或者,对此的解决方案可能是# test.R ## ---- scatter, fig.width = 3, -------- plot(y ~ x) ,但仅限于特定的块?

0 个答案:

没有答案