R 3.4.0 中位数方法和 roxygen2
R 3.4.0 median methods and roxygen2
我被要求更新我的包 Bolstad
以便我的 S3 中值方法的定义与 R 3.4.0 中新的中值泛型一致。这意味着需要能够处理 ...
- 这很好,但我还需要它来处理 roxygen2
。这是我的函数定义等:
#' Median generic
#'
#' @param x an object.
#' @param na.rm Ideally if \code{TRUE} then missing values will be removed, but not currently used.
#' @param \ldots [>=R3.4.0 only] Not currently used.
#' @details If \code{x} is an object of class \code{Bolstad} then the posterior
#' median of the parameter of interest will be calculated.
#' @author James Curran
#' @method median Bolstad
#' @export
median.Bolstad =
if(is.na(match("...", names(formals(median))))) {
function(x, na.rm = FALSE) {
return(quantile(x, probs = 0.5))
}
}else{
function(x, na.rm = FALSE, ...) {
return(quantile(x, probs = 0.5))
}
}
这个条件定义似乎可以编译,但是当我 运行 它通过 R 的开发版本时,我收到代码不匹配警告,因为不允许使用 ...,即
Codoc mismatches from documentation object 'median.Bolstad':
median.Bolstad
Code: function(x, na.rm = FALSE, ...)
Docs: function(x, na.rm = FALSE)
Argument names in code not in docs:
...
任何help/advice赞赏。
下面给出了 CRAN 上的解决方案(基于 Kurt Hornik 发给我的东西)。但是,它也有一个缺点,即 roxygen2
不会为中值函数生成帮助文件。
#' Median generic
#'
#' @param x an object.
#' @param na.rm Ideally if \code{TRUE} then missing values will be removed, but not currently used.
#' @param ... [>=R3.4.0 only] Not currently used.
#' @details If \code{x} is an object of class \code{Bolstad} then the posterior
#' median of the parameter of interest will be calculated.
#' @author James Curran
#' @method median Bolstad
if(is.na(match("...", names(formals(median))))) {
median.Bolstad = function(x, na.rm = FALSE) {
return(quantile(x, probs = 0.5))
}
}else{
median.Bolstad = function(x, na.rm = FALSE, ...) {
return(quantile(x, probs = 0.5))
}
}
我被要求更新我的包 Bolstad
以便我的 S3 中值方法的定义与 R 3.4.0 中新的中值泛型一致。这意味着需要能够处理 ...
- 这很好,但我还需要它来处理 roxygen2
。这是我的函数定义等:
#' Median generic
#'
#' @param x an object.
#' @param na.rm Ideally if \code{TRUE} then missing values will be removed, but not currently used.
#' @param \ldots [>=R3.4.0 only] Not currently used.
#' @details If \code{x} is an object of class \code{Bolstad} then the posterior
#' median of the parameter of interest will be calculated.
#' @author James Curran
#' @method median Bolstad
#' @export
median.Bolstad =
if(is.na(match("...", names(formals(median))))) {
function(x, na.rm = FALSE) {
return(quantile(x, probs = 0.5))
}
}else{
function(x, na.rm = FALSE, ...) {
return(quantile(x, probs = 0.5))
}
}
这个条件定义似乎可以编译,但是当我 运行 它通过 R 的开发版本时,我收到代码不匹配警告,因为不允许使用 ...,即
Codoc mismatches from documentation object 'median.Bolstad':
median.Bolstad
Code: function(x, na.rm = FALSE, ...)
Docs: function(x, na.rm = FALSE)
Argument names in code not in docs:
...
任何help/advice赞赏。
下面给出了 CRAN 上的解决方案(基于 Kurt Hornik 发给我的东西)。但是,它也有一个缺点,即 roxygen2
不会为中值函数生成帮助文件。
#' Median generic
#'
#' @param x an object.
#' @param na.rm Ideally if \code{TRUE} then missing values will be removed, but not currently used.
#' @param ... [>=R3.4.0 only] Not currently used.
#' @details If \code{x} is an object of class \code{Bolstad} then the posterior
#' median of the parameter of interest will be calculated.
#' @author James Curran
#' @method median Bolstad
if(is.na(match("...", names(formals(median))))) {
median.Bolstad = function(x, na.rm = FALSE) {
return(quantile(x, probs = 0.5))
}
}else{
median.Bolstad = function(x, na.rm = FALSE, ...) {
return(quantile(x, probs = 0.5))
}
}