r-在文档对象中发现错误的用法行



我的包无法通过R CMD检查。我使用的是devtools版本1.9.1和Roxygen2版本4.1.1。我的问题如下:

Bad usage lines found in documentation object 'my_fn':

Functions with usage entries need to have the appropriate alias
entries, and all their arguments documented.
The usage entries must correspond to syntactically valid R code.
See chapter 'Writing R documentation files' in the 'Writing R
Extensions' manual.

因此,正如你所看到的,它实际上并没有给我任何关于问题发生地的线索。只有两个空格。

我的功能如下:

#' My function
#'
#' Extracts data from the database in order to produce plots and
#' descriptive statistics.
#'
#' @param operate A vector of ID codes.
#' @param crl A vector of crl data.
#' @param nt A vector of nt data.
#' @param ref.coef Reference coefficient for gestational age.
#' @param ... Further arguments passed to or from other methods.
#'
#' @export
my_fn <- function (operate,
                   crl,
                   nt,
                   ref.coef = list(fit = function(crl) {
                     -1 + 0.05 * crl - 0.0002 * crl ^ 2
                   },
                   sd.reg = 0.5),
                   ...) {
# Some cool stuff
}

相应的.Rd文件如下:

% Generated by roxygen2 (4.1.1): do not edit by hand
% Please edit documentation in R/my_fn.R
name{my_fn}
alias{my_fn}
title{My function}
usage{
my_fn(operate, crl, nt, 
      ref.coef = list(fit = function(crl) {     -1 + 0.05 * crl - 0.0002
  * crl^2 }, sd.reg = 0.5), ...)
}
arguments{
item{operate}{A vector of ID codes.}
item{crl}{A vector of crl data.}
item{nt}{A vector of nt data.}
item{ref.coef}{Reference coefficient for gestational age.}
item{...}{Further arguments passed to or from other methods.}
}
description{
Extracts data from the database in order to produce plots and
descriptive statistics.
}

你知道它在哪里失败了吗?

当我从文档和函数中删除整个ref.coef时,没有错误。

当我把它保存在roxygen文档和函数中,对它进行roxygenize,然后尝试添加sd.reg(看看它是否只是一个解析错误)时,它仍然会抱怨。

这看起来不像是一个roxygen问题,而是R CMD check处理Rd文件的方式。

一个临时解决方案可能是做一些类似的事情:

ref.coef = REF.COEF(),

然后

REF.COEF <- function() {
  list(fit = function(crl) {
    -1 + 0.05 * crl - 0.0002 * crl ^ 2
  },
  sd.reg = 0.5)
}

(因此,您可以获得良好/合格的R CMD check,并且仍然可以获得所需的功能)

并在R-devel列表上发布一条关于您的错误的消息。这可能是一个简单的Rd解析问题(但您可能还想稍微简化函数params,并在param中的函数vs中进行列表分配)。

相关内容

  • 没有找到相关文章

最新更新