gpt4 book ai didi

r - 使用 R Markdown 文档作为函数源

转载 作者:行者123 更新时间:2023-12-01 02:01:53 25 4
gpt4 key购买 nike

我正在研究 R Markdown 以记录我经常使用的功能。我会将它们放入 R Markdown 文件中以记录它们,然后如果几个月后我再回到它,就可以阅读该函数背后的想法

我的问题是,如果我开始一个新的 R 项目,是否可以获取 r markdown 文件并使用我创建的函数库,就像我正在获取常规 R 文件一样调用它们。我真的不想维护两组函数文件

我很欣赏这可能是一个初学者的问题,但任何指向教程等的帮助将不胜感激

谢谢

最佳答案

正如评论中提到的,您可能应该为此目的创建一个包。但是,如果您坚持将函数定义放在脚本中并使用 RMarkdown 文件记录它们,请使用 read_chunk()来自 knitr包可能是要走的路。

请注意,此方法与您所要求的略有不同。您希望将 Markdown 文件中的函数定义与文档一起使用。然后你想以某种方式将该文件源到你的 R 脚本中以便使用该函数。我没有找到一种方法来做到这一点(即使它可能是可能的)。

我建议的替代方法是将函数定义放在它自己的 R 脚本中,比如 fun.R .然后 Rmarkdown 文件从 fun.R 读取函数定义并添加文档。如果你想在其他脚本中使用这个函数,你可以简单地 source fun.R (而不是 Markdown 文件)。这仍然意味着您只需维护一次函数定义的代码。

所以让我用一个例子来说明这一点。这是fun.R :

## ---- fun
fun <- function(x) x^2

第一行是后面会用到的标识符。 Markdown 文件如下:
---
title: "Documentation of fun()"
output: html_document
---

This documents the function `fun()` defined in `fun.R`.
```{r,cache = FALSE}
knitr::read_chunk("fun.R")
```

This is the function definition
```{r fun}
```

This is an example of how to use `fun()`:
```{r use_fun}
fun(3)
```

第一个块读入 fun.R使用 knitr::read_chunk .稍后,您可以定义一个空块,该块具有在 fun.R 中使用的标识符。正如它的名字一样。这将表现为 fun.R 的内容直接写在这个文件中。如您所见,您也可以使用 fun()在后面的块中。这是生成的 html 文件的屏幕截图:

enter image description here

在要使用的脚本中 fun()您只需添加 source("fun.R")获取函数定义。

您也可以在一个 R 文件中包含多个函数,并且仍然单独记录它们。只需输入一个以 ## ---- 开头的标识符在每个函数定义之前,然后创建引用每个标识符的空块。

诚然,这比您要求的要复杂一些,因为它涉及两个文件而不是一个。但至少没有冗余

关于r - 使用 R Markdown 文档作为函数源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35650785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com