在代码块中使用markdown来定义大型函数

莫里茨·施瓦兹(Moritz Schwarz)

我想在大型项目上使用R Markdown。该项目使用许多非常大的自定义函数。因此,我想使用markdown对函数的某些部分进行注释。

```{r}
my_function <- function(x,y){
  test <- x + seq(1,10)
```

然后我想用Markdown描述函数的第二部分

```{r}
  output <- test + y
  return(output)
}
```

然后我想应用该功能

```{r}
my_function(1,2)
```

当然,我意识到我可以简单地使用#符号添加注释,但这不如markdown好。例如,这与大型闪亮的服务器功能或类似功能有关。有什么想法我该怎么做?

r2evans

在R-markdown中,您无法跨块(附加)定义对象(例如,函数)。一种选择是不可见地定义功能,然后使用非执行代码块来讨论各部分。但是我不喜欢这种选择,因为它使工作量加倍并且增加了使用不同功能的可能性。

一种替代方法是在函数中定义清晰的标记,抓住函数的主体,然后按这些标记拆分。尝试这个:

---
title: test markdown
---

```{r echo = FALSE, include = FALSE}
my_function <- function(x,y){
  test <- x + seq(1,10) ###BREAK###
  # normal comment
  output <- test + y    ###BREAK###
  return(output)
}
my_function_body <- strsplit(
  paste(head(capture.output(print.function(my_function)), n = -1), collapse = "\n"),
  "###BREAK###[\n\r]*")[[1]]
```

```{r echo = FALSE, include = TRUE, comment = ''}
cat(my_function_body[[1]])
```

Then I would like to use Markdown to describe the second part of the function


```{r echo = FALSE, include = TRUE, comment = ''}
cat(my_function_body[[2]])
```

Now the third/last part of the function


```{r echo = FALSE, include = TRUE, comment = ''}
cat(my_function_body[[3]])
```

And then I would like to apply the function

```{r}
my_function(1,2)
```

And the whole of the function (excluding the markers):

```{r echo = FALSE, include = TRUE, comment = ''}
cat(
  gsub("###BREAK###", "",
       paste(head(capture.output(print.function(my_function)), n = -1), collapse = "\n"))
)
```

呈现为:

rmarkdown呈现

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在枚举中使用泛型函数

来自分类Dev

在SQL中使用$ this类型函数

来自分类Dev

R Markdown链接使用代码块

来自分类Dev

Scala泛型函数...在函数中使用T

来自分类Dev

Doxygen:如何仅使用其文档块而不使用代码来记录非C函数?

来自分类Dev

在大型弹出式回调函数中使用数据属性定义猫头鹰轮播

来自分类Dev

在ddply / transform中使用用户定义的函数时获取警告,对大型数据集进行变异

来自分类Dev

如何在此代码中使用自定义函数?

来自分类Dev

github markdown代码块

来自分类Dev

如何使用泛型函数来减少这个重复的代码

来自分类Dev

在C中使用其他参数创建原型函数

来自分类Dev

从async.series调用的原型函数中使用“ this”

来自分类Dev

从async.series调用的原型函数中使用“ this”

来自分类Dev

为什么不能使用Lambda定义原型函数

来自分类Dev

Jekyll:如何使用Kramdown来在块内进行markdown解析?

来自分类Dev

我应该/可以在此函数中使用“ assoc”来重新定义函数参数吗?

来自分类Dev

如何在Ruby中使用代码块?

来自分类Dev

如何在代码块中使用RCFProto?

来自分类Dev

在asp:textbox中使用代码块

来自分类Dev

在代码块中使用玉混合

来自分类Dev

是否需要在def块之前定义函数中使用的全局变量?

来自分类Dev

使用 SED 命令删除 Markdown 文件中的代码块

来自分类Dev

我如何在下面的代码中使用for循环和.format来遍历不同的函数?

来自分类Dev

在块回调函数中使用它

来自分类Dev

在 try 块中使用异步函数

来自分类Dev

需要使用while循环来循环代码块

来自分类Dev

如何在Swift中使用函数参数消除对该泛型函数的调用的歧义?

来自分类Dev

通过不使用许多循环来读取大型数据集来更改代码

来自分类Dev

使用“ using”指令来缩短函数定义

Related 相关文章

  1. 1

    在枚举中使用泛型函数

  2. 2

    在SQL中使用$ this类型函数

  3. 3

    R Markdown链接使用代码块

  4. 4

    Scala泛型函数...在函数中使用T

  5. 5

    Doxygen:如何仅使用其文档块而不使用代码来记录非C函数?

  6. 6

    在大型弹出式回调函数中使用数据属性定义猫头鹰轮播

  7. 7

    在ddply / transform中使用用户定义的函数时获取警告,对大型数据集进行变异

  8. 8

    如何在此代码中使用自定义函数?

  9. 9

    github markdown代码块

  10. 10

    如何使用泛型函数来减少这个重复的代码

  11. 11

    在C中使用其他参数创建原型函数

  12. 12

    从async.series调用的原型函数中使用“ this”

  13. 13

    从async.series调用的原型函数中使用“ this”

  14. 14

    为什么不能使用Lambda定义原型函数

  15. 15

    Jekyll:如何使用Kramdown来在块内进行markdown解析?

  16. 16

    我应该/可以在此函数中使用“ assoc”来重新定义函数参数吗?

  17. 17

    如何在Ruby中使用代码块?

  18. 18

    如何在代码块中使用RCFProto?

  19. 19

    在asp:textbox中使用代码块

  20. 20

    在代码块中使用玉混合

  21. 21

    是否需要在def块之前定义函数中使用的全局变量?

  22. 22

    使用 SED 命令删除 Markdown 文件中的代码块

  23. 23

    我如何在下面的代码中使用for循环和.format来遍历不同的函数?

  24. 24

    在块回调函数中使用它

  25. 25

    在 try 块中使用异步函数

  26. 26

    需要使用while循环来循环代码块

  27. 27

    如何在Swift中使用函数参数消除对该泛型函数的调用的歧义?

  28. 28

    通过不使用许多循环来读取大型数据集来更改代码

  29. 29

    使用“ using”指令来缩短函数定义

热门标签

归档