当我在我的函数中使用另一个包的函数时,我应该放什么 roxygen
What roxygen should I put when I use a function of another package in my function
我正在编写许多函数,我正在尝试使用 roxygen2
进行记录
我经常使用futile.logger包,比如说我在函数中使用flog.debug
函数。我应该用什么 @*
来记录它?
首先,了解您的
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 的工作目录中创建包框架:
确保在 运行 以下命令之前 R 的工作目录中没有名为 "yourpackage" 的文件夹。 (来自 R 的控制台)
package.skeleton(name = "yourpackage", code_files = c("yourfunction1.R", "yourfunction2.R", "yourfunction3.R"), path = ".")
在 运行 package.skeleton
之后,将在您的 R 工作目录中创建文件夹 yourpackage。
从 Windows 资源管理器中删除 Read-and-delete-me
文件。
删除 YourR'sWorkingDirectory\yourpackage\man 文件夹
中的 "yourpackage-package.Rd" 文件
(请勿删除 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 对你想要创建的包进行 roxygenize ("yourpackage")
library(roxygen2)
roxygenize("yourpackage")
在 roxygenization 后,你的包的 NAMESPACE 文件的内容会自动从 exportPattern("^[[:alpha:]]+")
转换为
# Generated by roxygen2: do not edit by hand
export(yourfunction)
importFrom(futile.logger,flog.debug)
Step6 构建你的包:
(首先,从 Windows Explorer 中删除 YourR'sWorkingDirectoryFolder\yourpackage 文件夹中的 "src-i386" 和 "src-x64" 文件夹(如果有))
(再次确定YourR'sWorkingDirectory\yourpackage\man文件夹中没有"yourpackage-package.Rd"文件,如果有,在构建前删除)
build("yourpackage")
Step7 安装你的包:
install("yourpackage")
第 8 步 通过加载您的包和 运行 包中的函数来检查一切是否正常。
library(yourpackage)
yourfunction(6,1,2) # "yourfunction" is a function in the package "yourpackage"
Step9 检查你的包是否可以加载到 CRAN(综合 R Archieve 网络)(如果你想分享你的包):
(首先,从 Windows 资源管理器中删除 YourR'sWorkingDirectoryFolder\yourpackage 文件夹中的 "src-i386" 和 "src-x64" 文件夹(如果有))
(再次确定YourR'sWorkingDirectory\yourpackage\man文件夹中没有"yourpackage-package.Rd"文件,如果有请删除后再查看)
来自 DOS 命令提示符:
开始——cmd——回车。传递到 R 的工作目录(您的 R 的工作目录通过 getwd() 知道)并进行 CRAN 检查:
cd C:\Users\User\Documents\Revolution
R CMD check yourpackage
来自 R 的控制台:
devtools::check("C:/Users/User/Documents/Revolution/yourpackage")
我正在编写许多函数,我正在尝试使用 roxygen2
进行记录我经常使用futile.logger包,比如说我在函数中使用flog.debug
函数。我应该用什么 @*
来记录它?
首先,了解您的
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 的工作目录中创建包框架: 确保在 运行 以下命令之前 R 的工作目录中没有名为 "yourpackage" 的文件夹。 (来自 R 的控制台)
package.skeleton(name = "yourpackage", code_files = c("yourfunction1.R", "yourfunction2.R", "yourfunction3.R"), path = ".")
在 运行 package.skeleton
之后,将在您的 R 工作目录中创建文件夹 yourpackage。
从 Windows 资源管理器中删除 Read-and-delete-me
文件。
删除 YourR'sWorkingDirectory\yourpackage\man 文件夹
中的 "yourpackage-package.Rd" 文件
(请勿删除 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 对你想要创建的包进行 roxygenize ("yourpackage")
library(roxygen2)
roxygenize("yourpackage")
在 roxygenization 后,你的包的 NAMESPACE 文件的内容会自动从 exportPattern("^[[:alpha:]]+")
转换为
# Generated by roxygen2: do not edit by hand
export(yourfunction)
importFrom(futile.logger,flog.debug)
Step6 构建你的包:
(首先,从 Windows Explorer 中删除 YourR'sWorkingDirectoryFolder\yourpackage 文件夹中的 "src-i386" 和 "src-x64" 文件夹(如果有))
(再次确定YourR'sWorkingDirectory\yourpackage\man文件夹中没有"yourpackage-package.Rd"文件,如果有,在构建前删除)
build("yourpackage")
Step7 安装你的包:
install("yourpackage")
第 8 步 通过加载您的包和 运行 包中的函数来检查一切是否正常。
library(yourpackage)
yourfunction(6,1,2) # "yourfunction" is a function in the package "yourpackage"
Step9 检查你的包是否可以加载到 CRAN(综合 R Archieve 网络)(如果你想分享你的包):
(首先,从 Windows 资源管理器中删除 YourR'sWorkingDirectoryFolder\yourpackage 文件夹中的 "src-i386" 和 "src-x64" 文件夹(如果有))
(再次确定YourR'sWorkingDirectory\yourpackage\man文件夹中没有"yourpackage-package.Rd"文件,如果有请删除后再查看)
来自 DOS 命令提示符:
开始——cmd——回车。传递到 R 的工作目录(您的 R 的工作目录通过 getwd() 知道)并进行 CRAN 检查:
cd C:\Users\User\Documents\Revolution
R CMD check yourpackage
来自 R 的控制台:
devtools::check("C:/Users/User/Documents/Revolution/yourpackage")