62

是否可以在 roxygen 进程中将 .R 文件包含在我的包的数据目录中?

我在数据目录中放了几个 .R 文件。当它们以 data() 为源时,它们会读入原始数据文件并执行一些转换。

4

3 回答 3

50

Roxygen 可以在 R 文件中的任何地方使用(换句话说,它不必跟一个函数)。它还可以用于记录 R 文档中的任何 docType。

所以你可以在一个单独的块中记录你的数据(像这样):

#' This is data to be included in my package
#'
#' @name data-name
#' @docType data
#' @author My Name \email{blahblah@@roxygen.org}
#' @references \url{data_blah.com}
#' @keywords data
NULL
于 2010-02-22T14:35:38.037 回答
43

从 roxygen2 >4.0.0 开始,您可以通过记录定义为字符串的对象名称来记录在别处定义的数据对象:

#' This is data to be included in my package
#'
#' @author My Name \email{blahblah@@roxygen.org}
#' @references \url{data_blah.com}
"data-name"
于 2014-03-23T22:59:25.237 回答
29

我发现研究 ggplot2 包中的示例很有用。

参见github 上的 ggplot2.r

有几点需要注意:

  • 数据集的所有 Roxygen 代码都可以包含在包目录中的单个.r文件中R

参见示例,diamonds数据集:

#' Prices of 50,000 round cut diamonds
#'
#' A dataset containing the prices and other attributes of almost 54,000
#'  diamonds. The variables are as follows:
#'
#' \itemize{
#'   \item price. price in US dollars (\$326--\$18,823)
#'   \item carat. weight of the diamond (0.2--5.01)
#'   \item cut. quality of the cut (Fair, Good, Very Good, Premium, Ideal)
#'   \item colour. diamond colour, from J (worst) to D (best)
#'   \item clarity. a measurement of how clear the diamond is (I1 (worst), SI1, SI2, VS1, VS2, VVS1, VVS2, IF (best))
#'   \item x. length in mm (0--10.74)
#'   \item y. width in mm (0--58.9)
#'   \item z. depth in mm (0--31.8)
#'   \item depth. total depth percentage = z / mean(x, y) = 2 * z / (x + y) (43--79)
#'   \item table. width of top of diamond relative to widest point (43--95)
#' }
#'
#' @docType data
#' @keywords datasets
#' @name diamonds
#' @usage data(diamonds)
#' @format A data frame with 53940 rows and 10 variables
NULL

这会生成一个如下所示的帮助文件:

roxygen 文档示例

于 2014-08-20T07:28:07.660 回答