【问题标题】:How can I document datasets without adding them to the Collate field?如何在不将数据集添加到“整理”字段的情况下记录数据集?
【发布时间】:2011-10-28 13:05:13
【问题描述】:

我正在使用roxygen2 来记录我正在开发的包的数据集。我知道你可以use roxygen to document a dataset,但Shane's answer 最终建议进行黑客攻击,虽然我宁愿避免。所以,我的问题是:

我应该将 roxygen 文档放在哪里?

我目前有一个厌食症数据集 in my /R folder 的数据文档文件 (anorexia.sub.roxygen)

因为据我所知,这是 roxygen2 唯一会寻找它的地方:

#' Family Treatment Weight change data for young female anorexia patients.
#' 

#' 
#' The MASS package includes the dataset \code{anorexia}, containing pre and
#' post treatment weights for young female anorexia patients.  This is a subset
#' of those data, containing only those patients who received Family Treatment.
#' 
#' 
#' @name anorexia.sub
#' @docType data
#' @format A dataframe with 17 observations on the following 2 variables, no
#'   NAs.
#'
#' \describe{
#' 
#' \item{list("Prewt")}{Pretreatment weight of subject, in pounds.}
#' 
#' \item{list("Postwt")}{Postreatment weight of subject, in pounds.}
#' 
#' }
#' @references Venables, W. N. and Ripley, B. D. (2002) Modern Applied
#'   Statistics with S. Fourth edition. Springer.
#' @source Hand, D. J., Daly, F., McConway, K., Lunn, D. and Ostrowski, E. eds
#'   (1993) A Handbook of Small Data Sets. Chapman & Hall, Data set 285 (p.
#'   229)
#' @keywords datasets
NULL

roxygen2 生成文档就好了。但是,然后它会将anorexia.sub.roxygen.R 添加到DESCRIPTION 中我的Collate 字段中:

Collate:
    'granova.R'
    'theme-defaults.R'
    'granovagg.1w.R'
    'granovagg.contr.R'
    'granovagg.ds.R'
    'help.R'
    'anorexia.sub.roxygen.R'

我想我的问题是:我怎样才能拥有 roxygen2

  1. 自动从 roxygen 块生成数据文档,
  2. 不要将数据文档文件添加到 Collate 调用中,并且
  3. 避免requires a hack 的解决方案

【问题讨论】:

    标签: r roxygen roxygen2


    【解决方案1】:

    由于在package levelfunction level 记录您的包是一种很好的做法,我总是在R 文件夹中有一个名为packagename-package.R 的文件(例如granovaGG-package.R 在你的情况下),我保留包文档以及数据文档。

    所以你的granovaGG-package.R 文件可能看起来像:

    #' One sentence summary of your package.
    #' 
    #' More detail
    #' ...
    #' @name granovaGG-package
    #' @aliases granovaGG
    #' @docType package
    #' @title One sentence summary of your package.
    #' @author \email{your.name@@email.com}
    #' @keywords package
    #' @seealso \code{\link{...}}
    NULL
    #' Your dataset documentation goes here.
    #' 
    #' Exactly as in your example.
    #' @docType data
    #' etc.
    #' ...
    NULL
    

    【讨论】:

    • 我没有意识到你可以在同一个文件中有多个 roxygen 块!那应该可以完美地工作。谢谢,安德烈!
    • 我很高兴它有帮助。我应该在原始答案中说您当然可以将您的数据文档添加到任何其他文件!
    • 我可以假设这不是文字 NULL,而只是一个空行吗? (我还不是 roxygen 作家)
    • 嗯,答案是视情况而定。 Roxygen 要求文件中至少有一行有效的 R 代码(不是 Roxygen 代码)。 NULL 满足这一点,但如果文件中有其他 R 代码,则不需要 NULL。
    • 对于那些关注的人来说只是一个轶事:当我在我的 packagename-package.R 文件中记录两个数据集时,我必须在每个块之间包含一个 NULL 以获得 .Rd正确生成文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 1970-01-01
    • 2020-01-24
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 2022-07-25
    相关资源
    最近更新 更多