Roxygen真的可以像Doxygen为C++一样文档化R脚本(而不是软件包)吗?

7
Roxygen受C、C++程序员使用的Doxygen文档系统启发。我使用过Doxygen,只要有doxygen注释,就可以轻松地记录任何程序。它还为函数和类生成调用图。我认为roxygen会以同样的方式工作,但当我搜索roxygen帮助时,我只能找到关于记录R包的解决方案。
我已经检查了Hadley Wickham的在线roxygen2 help,但没有描述R脚本文档的任何内容。
我的脚本有时会变成500-1000行,并且有几个函数,我总是用注释来记录它们。我想生成具有graph-viz图表的PDF或HTML文档。Roxygen能够制作调用图并记录独立的R脚本吗?

2
看一下knitr::spin,我以前用过,可能是你要找的。文档中的示例将让你了解预期的效果。 - chappers
谢谢!我想我会使用它。 - XtrimA
2个回答

3
不,roxygen2 仅适用于编写软件包文档。听起来你需要一款报告生成工具,你可以使用 knitr。它支持代码、注释、文本、MathJax,甚至可以使用 LaTeX。它还支持目录和参考文献。这远非功能清单的全部。在一些逻辑限制下,你可以生成pdf和html等文件。

1
我尝试了knittr::spin。它类似于报告生成工具。正如我在我的问题中提到的,我正在寻找一个可以从脚本中的程序结构和注释生成文档的工具。这样的文档包括函数定义、调用图、函数的参数和返回值以及目录。我真的不是在寻找从脚本的输出中生成带有图形或值的报告。我正在寻找一个工具,以便在一年之后让他人和自己更好地理解我的程序并生成一个帮助文件。 - XtrimA
@Xtrim-a 好的,但我认为这样的工具并不存在。如果你愿意下决心将你的注释转换成Markdown格式,那么你可以用这种方式来记录你的脚本。 - Roman Luštrik
我现在正在使用knittr,并且它的一些选项表现得非常出色。谢谢大家的回复!希望doxygen将来能够扩展对R的支持。 - XtrimA
Roxygen必须是一个包才能从例程中提取文档,这完全是愚蠢的。 - Stefano Borini

2
虽然这是一个旧的帖子,但供将来参考,以下库能够实现这一点:

https://rdrr.io/cran/document/

从它的文档中可以看出:您是否曾经想过为一个尚未成为您某个软件包一部分的函数创建“roxygen2”风格的文档注释?这正是这个软件包的作用:在单个代码文件(的块)上运行“roxygen2”。

这几乎是一个仅包含链接的答案。你能否添加一两句话来说明该软件包的功能? - Ben Bolker
1
现在还好吗? - SwatchPuppy
最近,document package 已从 CRAN 中删除。 - G. Grothendieck
你可以暂时继续使用档案里的那个。 - SwatchPuppy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接