如何在knitr中的函数内写入文本

如何在knitr中的函数内写入文本,r,knitr,R,Knitr,我试图注释一些有很多代码行的函数。因此,我想在函数中写一些段落 例如: ```{r} sample.fn <- function(x) { x <- x+1 x <- x+2 #... ``` 然后继续执行该函数 `{r} 将我的评论转向一个答案:我不相信有办法分解一个被评估的块,但是你可以通过一些块的技巧来制造幻觉。包含一个未打印的块(即包含完整函数定义的echo=FALSE),然后使用eval=FALSE包含任意多的块,该块重复代码,但在块中有任意多个断点。不是注释(如“

我试图注释一些有很多代码行的函数。因此,我想在函数中写一些段落

例如:

```{r}
sample.fn <- function(x) {
x <- x+1
x <- x+2
#...
```
然后继续执行该函数

`{r}

将我的评论转向一个答案:我不相信有办法分解一个被评估的块,但是你可以通过一些块的技巧来制造幻觉。包含一个未打印的块(即包含完整函数定义的
echo=FALSE
),然后使用
eval=FALSE
包含任意多的块,该块重复代码,但在块中有任意多个断点。

不是注释(如“#注释”),而是像完整段落或方程式一样的文本。几乎所有.Rmd的其他内容都不是代码。到目前为止,最简单的方法是在定义完整函数的地方有一个“隐藏”块(
echo=FALSE
),然后对于显示函数代码的部分,使用
eval=FALSE
@Gregor,我认为您应该将其作为答案发布
knitr
的操作与Knuth最初的“web”系统不同,后者允许这样做easily@BenBolker这是真的,但我认为如果你在定义一个函数时必须解释一半,那么你的函数可能太长了,需要拆分成更小的部分:)对不起,这不是批评,只是一个描述。。。
$$  
\begin{align}   
x &= x + 1\\  
\end{align*}  
$$  
```{r}
x <- x + 3
return(x)
}
```