我有一些数据文件想要与我正在创建的包一起分发。我已将文件放置在 inst/extdata 中。如何以及在哪里使用 roxygen2 记录这些文件?
我正在开发一个 R 包(我们称之为pkg),并且我已经定义了一些泛型。NAMESPACE 文件包含
S3method(foo, bar)
export(foo)
Run Code Online (Sandbox Code Playgroud)
然而,在打电话时pkg::foo.bar,我感到害怕
错误:'foo.bar' 不是从 'namespace:pkg' 导出的对象
我正在使用 roxygen2,如果这有什么改变的话。
注意:如果我明确添加export(foo.bar),则一切正常。
在使用 roxygen2 的“R”包中,我在我提供的示例代码中使用了内置数据集。
在构建和检查包时,我得到
Consider adding
importFrom("datasets", "CO2")
importFrom("grDevices", "dev.list", "dev.off")
...
Run Code Online (Sandbox Code Playgroud)
然后我将以下行添加到我的代码中:
#' @importFrom datasets CO2
Run Code Online (Sandbox Code Playgroud)
对源进行 roxygenizing 后,NAMESPACE 包含
importFrom(datasets,CO2)
Run Code Online (Sandbox Code Playgroud)
但是,检查包然后产生:
Error : object ‘CO2’ is not exported by 'namespace:datasets'
Run Code Online (Sandbox Code Playgroud)
?CO2 告诉我 CO2 位于 package:datasets 中。
这里出了什么问题?我使用 R 3.3.0 和新安装的 roxygen2。
谢谢你的帮助。
我对“roxygen2”包有疑问:
我看过很多使用它作为包文档的教程(例如Hadley Wickham 的主要“对象文档”页面)
那么,如果我确实有非包的 R 代码(例如 R 项目)怎么办? 您也可以使用 roxygen2 记录 R 项目吗?
我仍然能够运行该
package.skeleton(name='RoxygenSkeleton', code_files = "Roxygen.R", force=TRUE)函数来创建基本包结构并创建 .Rd 文件。但我希望有一个很好的 HTML 或 PDF 输出......
我为一个模糊的TSV格式写了一个导入器,我想打包并记录:https://github.com/katrinleinweber/MWX-import/commits/package
导入器函数传递一个重命名的skip_lines参数, utils::read.table所以我想将后者的文档"传递" skip到我的.Rd.但是,尝试一些@inheritParams utils::read.table skip总是会产生一些符号Warning: Failed to find topic […].
在阅读http://r-pkgs.had.co.nz/man.html和https://blog.rstudio.org/之后,我是否真的可以从另一个包的函数继承一个特定的参数2017/02/01/roxygen2-6-0-0 /.
可能吗?如果是的话,谢谢你的任何暗示!
我在 R 中编写了一个函数,用于替换 \xc3\xa4、\xc3\xb6、\xc3\xbc 和 \xc3\x9f 等德语字母,并希望将其记录在我的包中。我的例子是:
\n\n#\' @examples "Aber das ist es nun mal, was wir tun: wir tr\xc3\xa4umen weiter gegen \n#\' den Strom und unsere Tr\xc3\xa4ume entschl\xc3\xbcpfen uns fast so lebendig, wie wir sie\n#\' heraufbeschw\xc3\xb6ren k\xc3\xb6nnen." %>% replace_german_letters\nRun Code Online (Sandbox Code Playgroud)\n\n当我构建包而不是“变音符号”时,会显示类似“\xc3\x83\xc2\xa4”的内容。\n我的编码设置在 RStudio 中已经是 UTF-8。我正在使用 roxygen2 来构建我的包。
\n我有一个带有foo使用rlang::fn_fmls()和函数的包rlang::fn_fmls()<-:
#' @importFrom rlang fn_fmls missing_arg
foo <- function(x) {
args <- rlang::fn_fmls(x)
args <- c(args, bar = rlang::missing_arg())
rlang::fn_fmls(x) <- args
return(x)
}
Run Code Online (Sandbox Code Playgroud)
使用 roxygen2,我显然需要用 an 来记录这个函数,@importFrom rlang ...以便在我的 NAMESPACE 中声明这些函数。但是,包含fn_flmsthere 是否也处理fn_fmls<-? 还是也需要单独包含?如果是这样,如何?@importFrom rlang fn_fmls<-? "fn_fmls()<-"?
有人能指出我用Roxygen记录R.oo类/方法的好例子吗?在R.oo中,类/方法是通过调用setConstructorS3()和setMethodS3()创建的,因此没有函数来记录本身.您是否只是创建标准的Roxygen函数文档,但是将它放在NULL语句之上?
roxygen使用可选参数记录函数的正确方法是什么?
#' @name dbh2vol
#' @usage dbh2vol(dbh,ipft)
#' @description This is an allometric function to return the tree volume
#' @param dbh diameter at breast height
#' @param ipft PFT
#' @return vol volume
#' @export
dbh2vol <- function(dbh,ipft,...,hgt, chambers = FALSE){
if (missing(hgt)) hgt = other_function (dbh, ipft)
vol = hgt * dbh ^ pft$vol[ipft]
if (chambers) vol = vol * 2
return(vol)
}
Run Code Online (Sandbox Code Playgroud)
特别是如何评论可选参数chambers和hgt?
我有许多函数,它们具有不同参数的相关方法,我想在泛型中一起记录.有没有一种标准方法可以通过S4泛型将通过省略号传递的参数记录到不同的方法中?理想情况下,我想将传递给不同方法的参数组合在一起以获得最大可读性.
以下是我目前正在尝试根据我在同一文件中记录多个函数时所读到的内容:
#' A class
#' @export
setClass("A", slots = c(a = 'numeric'))
#' B class
#' @export
setClass("B", slots = c(b = 'numeric'))
#' foo generic
#'
#' foo generic description
#'
#' @param object The object
#' @param x shared argument
#' @param ... other arguments passed to methods
#' @export
setGeneric("foo", function(object, x, ...) standardGeneric("foo"))
#' foo method A
#'
#' foo method A description
#'
#' @param y method A argument
#' …Run Code Online (Sandbox Code Playgroud)