我正在编写许多函数,我正在尝试使用roxygen2
进行文档编制我经常使用futile.logger包,比如我在函数中使用flog.debug
函数。我应该使用@*
来记录它?
答案 0 :(得分:1)
首先,了解你的
sessionInfo()
getwd() # your R's working directory
.libPaths() # your R's library location
Step0 下载并安装必要的软件包:
library(roxygen2)
library(devtools)
library(digest)
Step1 将您所有相关的" .R"文件(yourfunction1.R,yourfunction2.R,yourfunction3.R)到你的R工作目录。
Step2 在R的工作目录中创建您的包骨架: 确保没有名为" yourpackage"的文件夹。在运行以下命令之前,在R的工作目录中。 (来自R&#39的控制台)
package.skeleton(name = "yourpackage", code_files = c("yourfunction1.R", "yourfunction2.R", "yourfunction3.R"), path = ".")
运行package.skeleton
后,在您的R工作目录中创建了文件夹。
从Windows资源管理器中删除Read-and-delete-me
文件
删除" yourpackage-package.Rd"在YourR' sWorkingDirectory \ yourpackage \ man文件夹中的文件
(不要在YourR' sWorkingDirectory \ yourpackage \ man文件夹中删除" yourpackage.Rd"文件!)
Step3 在你的" .R"的序言结束时文件(yourfunction.R),如下所示(如果你在步骤1中没有这样做):
#' @importFrom futile.logger flog.debug
#' @export
yourfunction <- function(...) {...
Step4 在您的软件包的DESCRIPTION
文件中,在Imports
部分中添加:
Imports:
futile.logger(>= VersionNumber)
其中VersionNumber是您正在使用的futile.logger软件包的版本号。您可以在RevolutionREnterprise的对象浏览器中右键单击任何函数(来自您的包)找到版本号;并在最终的.html帮助文件的底部。在那里,显示了包的版本号。
在Step2中,package.skeleton自动生成一个NAMESPACE文件,其内容为:
exportPattern("^[[:alpha:]]+")
请勿手动处理此NAMESPACE文件。
Step5 为您想要创建的包裹(&#34; yourpackage&#34;)
library(roxygen2)
roxygenize("yourpackage")
在进行漫游时,您的包的NAMESPACE文件的内容会自动从exportPattern("^[[:alpha:]]+")
转换为
# Generated by roxygen2: do not edit by hand
export(yourfunction)
importFrom(futile.logger,flog.debug)
Step6 构建您的软件包:
(首先,从Windows资源管理器中删除YourR&#39; sWorkingDirectoryFolder \ yourpackage文件夹中的&#34; src-i386&#34;以及&#34; src-x64&#34;文件夹(如果有)
(再次确保YourR&#39; sWorkingDirectory \ yourpackage \ man文件夹中没有&#34; yourpackage-package.Rd&#34;文件。如果有,请在构建之前将其删除)
build("yourpackage")
Step7 安装您的软件包:
install("yourpackage")
Step8 通过加载包并在包中运行函数来检查一切顺利。
library(yourpackage)
yourfunction(6,1,2) # "yourfunction" is a function in the package "yourpackage"
Step9 检查您的软件包是否可以加载到CRAN(Comprehensive R Archieve Network)(如果您想共享软件包):
(首先,从Windows资源管理器中删除YourR&#39; sWorkingDirectoryFolder \ yourpackage文件夹中的&#34; src-i386&#34;以及&#34; src-x64&#34;文件夹(如果有)) (再次确保YourR&#39; sWorkingDirectory \ yourpackage \ man文件夹中没有&#34; yourpackage-package.Rd&#34;文件。如果有,请在检查前将其删除)
从DOS命令提示符:
开始 - cmd - 输入。转到R的工作目录(您的R工作目录通过getwd()知道)并进行CRAN检查:
cd C:\Users\User\Documents\Revolution
R CMD check yourpackage
来自R&#39的控制台:
devtools::check("C:/Users/User/Documents/Revolution/yourpackage")