我无法让我的包裹通过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.
所以你可以看到它实际上没有给我任何关于问题发生位置的指示。它只有2个空格。
我的功能如下:
#' 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.
}
任何失败的想法?
答案 0 :(得分:3)
当我从文档和函数中删除整个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并在函数vs param中进行列表赋值)。