我需要为我创建的功能写一些文档,并且我想模仿R帮助文档中的样式。我的文档将以PDF格式,以及R软件包的可下载小插曲。确切地说,我想从下面的dplyr
文档创建一个输出,如附件摘录:
有人知道它是怎么做的吗?它是在Latex
中没有边框的表格,还是只是进行一些文本位置调整的表格?在Rmarkdown
中模仿它的最佳方法是什么?
答案 0 :(得分:2)
正如我在评论中提到的那样,我相信这里最好的解决方案是将您的代码实际上放在一个程序包中。您似乎对该任务感到犹豫或恐吓,但这确实非常容易,我将为您简要介绍一下。
假设您具有功能
example_function <- function(x) {
return(x * 2)
}
您希望/需要分发的,最好带有一些文档。这是您可以相对轻松地在R包中进行此操作的方法。我们将添加Roxygen样式的文档注释:
#' Example function
#'
#' This is just an example function that multiplies its argument by two.
#'
#' @param x A numeric vector
#'
#' @return A numeric vector equal to \\code{x} multiplied by two.
#' @export
example_function <- function(x) {
return(x * 2)
}
然后,我们让devtools
为我们完成一些繁重的工作。首先,我们使用它来建立必要的包结构:
pkg_path <- "/tmp/examplePackage" # Wherever you want your package to be on your machine
devtools::create(pkg_path, rstudio = FALSE)
然后,将带有示例功能的文件放在上面为我们创建的软件包文件夹R/
的{{1}}子目录中(在我的情况下,代码位于文件devtools
中)。
然后我们可以简单地运行命令
/tmp/examplePackage/R/example_function.R
devtools::document(pkg_path)
# Updating examplePackage documentation
# Loading examplePackage
# Writing NAMESPACE
# Writing example_function.Rd
+ roxygen2
为我们处理了所有文档魔术。现在,您可以devtools
将帮助文件提供给R了:
devtools::install()
或devtools::install(pkg_path)
?examplePackage::example_function
创建您提到的精美PDF手册:
build_manual