roxygen2“错误:title需要一个值”

时间:2011-10-06 17:38:20

标签: r roxygen roxygen2

我收到来自roxygenize()的错误,我无法理解。我有一个我的杂项函数包,其中.Rd文件是通过roxygen生成的。

错误为Error: titlerequires a value,表明没有@title标记。但是@title文件中有一个kmmisc-package.R标记,所以我不确定问题是什么。

kmmisc-package.R包含:

##' Miscellaneous Functions
##' 
##' \tabular{ll}{
##' Package: \tab kmmisc\cr
##' Type: \tab Package\cr
##' Version: \tab 0.1-2\cr
##' Date: \tab 2011-10-06\cr    
##' License: \tab GPL-2\cr
##' LazyLoad: \tab yes\cr
##' LazyData: \tab yes\cr
##' }
##' 
##' @author Me \email{my@@email}
##' 
##' Maintainer: Me \email{my@@email}
##'
##' @name kmmisc-package
##' @docType package
##' @title KM Misc
##' @keywords package
##' 
NULL

我正在使用R 2.13.2与roxygen2 2.1刚从CRAN重新安装。完整的sessionInfo()位于https://gist.github.com/1268056

的要点中

修改

在@ andrie的建议下,我现在有了

#' Miscellaneous Functions
#' 
#' \tabular{ll}{
#' Package: \tab kmmisc\cr
#' Type: \tab Package\cr
#' Version: \tab 0.1-2\cr
#' Date: \tab 2011-09-14\cr    
#' License: \tab GPL-2\cr
#' LazyLoad: \tab yes\cr
#' LazyData: \tab yes\cr
#' }
#' 
#' @author Me \email{my@@email}
#' 
#' Maintainer: Me \email{my@@email}
#' @name package-kmmisc
#' @docType package
#' @title KM Misc
#' @keywords package
#' @aliases kmmisc package-kmmisc
#'
#' 
NULL

仍然会产生相同的错误。

2 个答案:

答案 0 :(得分:2)

我无法从您的第一个代码复制错误... 您是否从roxygenize()收到与以下简单示例相同的错误消息?

#' A test function
#'
#' Description
#'
#' Details
#'
#' @param x numeric number
f1 <- function(x) {
  x
}

其他信息

@Andrie的代码#' @aliases kmmisc package-kmmisc有一个@aliases problem。 在roxygen2 2.1中,带有连字符的#' @aliases a-b生成Rd引号标记\alias{"a-b"}。 在这种情况下,代码没有问题,但在其他情况下需要一些注意。 当然,如果您需要带引号的标签,请添加#' @aliases a-b

所以我认为在这种情况下用#' @aliases kmmisc package-kmmisc替换#' @aliases kmmisc会更好:

#' Miscellaneous Functions
#'
#' \tabular{ll}{
#' Package: \tab kmmisc\cr
#' Type: \tab Package\cr
#' Version: \tab 0.1-2\cr
#' Date: \tab 2011-09-14\cr
#' License: \tab GPL-2\cr
#' LazyLoad: \tab yes\cr
#' LazyData: \tab yes\cr
#' }
#'
#' @author Me \email{my@@email}
#'
#' Maintainer: Me \email{my@@email}
#' @name package-kmmisc
#' @aliases kmmisc
#' @docType package
#' @title KM Misc
#' @keywords package
NULL

答案 1 :(得分:1)

尝试以下方法:

  • 取消注释您的roxygen语句。 (这可能是一个SO人工制品,但每条roxygen线应以# '开头,即一个#

  • 对文档进行以下更改

    #' @name package-kmmisc
    #' @aliases kmmisc package-kmmisc

换句话说:

  • 更改@name
  • 的值
  • 添加名为kmmisc
  • 的别名

这些是您的示例与我自己的软件包文档之间的唯一区别。