该knitr::read_chunk
功能非常适合引用文档中的块。例如,给定一个带注释的 R 脚本:
# 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
——也许这可以通过bookdown
文本引用来完成?
奖励:如果我也可以在 R 脚本中设置块选项,那就更棒了。我知道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)
或者,也许对此的解决方案是以某种方式knitr::spin/knitr::spin_child
,但仅限于特定的块?