20

我正在尝试使用 roxygen2 在 R 包中记录一些数据集。仅考虑其中之一:

  • 我有mypkg/data/CpG.human.GRCh37.RDa
  • 其中包含一个名为CpG.human.GRCh37
  • 和一个名为: 的文件mypkg/R/cpg-data.R,其中包含:

    #' @name CpG.human.GRCh37
    #' @title CpG islands - human - genome build: GRCh37/hg19
    #' @description This data set list the genomic locations of human CpG islands,
    #' with coordinates based on the GRCh37 / hg19 genome build.
    #' @docType data
    #' @usage CpG.human.GRCh37
    #' @format a \code{RangedData} instance, 1 row per CpG island.
    #' @source UCSC Table Browser
    #' @author Mark Cowley, 2012-03-05
    #' @export
    NULL
    

当我 roxygenize 时,它​​会被创建mypkg/man/CpG.human.GRCh37.Rd,其中包含:

    \docType{data}
    \name{CpG.human.GRCh37}
    \alias{CpG.human.GRCh37}
    \title{CpG islands - human - genome build: GRCh37/hg19}
    \format{a \code{RangedData} instance, 1 row per CpG island.}
    \source{
      UCSC Table Browser
    }
    \description{
      This data set list the genomic locations of human CpG
      islands, with coordinates based on the GRCh37 / hg19
      genome build.
    }
    \author{
      Mark Cowley, 2012-03-05
    }
    \usage{CpG.human.GRCh37}
    \keyword{datasets}

export(CpG.human.GRCh37)添加了NAMESPACE文件。

但是当R CMD CHECK我得到:

...
** testing if installed package can be loaded
Error in namespaceExport(ns, exports) : 
  undefined exports: CpG.human.GRCh37
Error: loading failed
...

我没有告诉 R 在哪里可以找到这个数据集,尽管我认为这mypkg/data/<name>.RDa将是一个很好的初步猜测。任何提示都会很棒。

如果 Hadley 正在观看,我注意到没有创建 \usage 部分并且忽略了 @usage 指令。

我在 R 2.13.1 上使用 roxygen-2.2.2

4

1 回答 1

17

这需要 2 个修复:

  1. 编写 R 扩展1.1.5,数据包中所述,将对象保存为.rda而不是.RDa
  2. @export从 Roxygen中移除
于 2012-10-18T10:06:55.383 回答