Включить примеры данных при разработке пакетов R
Я очень хочу узнать, как включить примеры данных в качестве комментариев, написанных над функциями, например:
##' @examples
##' ## Set working directory...
##' ## Load data into R session:
##' data <- system.file("extdata", "data.txt", package="...", sep="\t", header=TRUE, stringsAsFactors = FALSE)
##'
##' ## For reproducible results:
##' set.seed(999)
Я помещаю свой файл "data.txt" в каталог:/pkg_Name/inst/extdata/. Тем не менее, проверка R CMD указывает на ошибку на этом шаге. Если я перехожу к R CMD build и R CMD install, то после загрузки пакета я не могу получить данные в сеанс R... Может ли кто-нибудь сказать мне, что пошло не так? Правильно ли это включить примеры данных в конце справочного документа функции?
Спасибо большое!
Ответы
Ответ 1
Посмотрите на пакеты CRAN, которые включают данные и скопируйте их подход. Я просто добавил данные в пакет, работающий только на несколько недель назад, и он просто работает...
Для чего это стоит, руководство содержит раздел 1.1.5 Данные в пакетах, который объясняет это.
Ответ 2
У Хэдли Уикхема есть глава в его книге "R Пакеты" на как включить данные в пакет R.
Дирк указывает официальную документацию на данные в пакетах.
В качестве альтернативы, здесь приведен пример обучения из пакета ggplot2 для одного из способов включения данных с использованием файлов rda и roxygen.
Вот каталог data
в пакете ggplot2. В этом примере каждый файл данных хранится в отдельном файле rda
(например, сгенерирован с использованием save(foo, file='foo.rda')
.
![enter image description here]()
Смотрите файл data.r для команд Roxygen для создания файлов справки Rmd для данных: например,
#' 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:
#'
#' @format A data frame with 53940 rows and 10 variables:
#' \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 color: 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)
#' }
"diamonds"
Ответ 3
x <- sample(1000)
devtools::use_data(x, mtcars)
http://r-pkgs.had.co.nz/data.html