Включите примеры данных в разработку пакетов 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 и установке R CMD, то после загрузки пакета я не смогу получить данные в сеансе R ... Может ли кто-нибудь сказать мне, что пошло не так? Это правильный способ включить примеры данных в конце справочного документа по функциям?

Большое спасибо!


person alittleboy    schedule 12.09.2012    source источник


Ответы (3)


Пожалуйста, посмотрите на пакеты CRAN, которые включают данные, и скопируйте их подход. Я просто добавил данные в пакет только для работы несколько недель назад, и он просто работает ...

Как бы то ни было, в руководстве есть раздел 1.1.5 Данные в пакетах, объясняющие это.

person Dirk Eddelbuettel    schedule 12.09.2012
comment
Спасибо @Dirk за предложения! - person alittleboy; 17.09.2012

В своей книге "Пакеты R" Хэдли Уикхема есть глава на как включить данные в пакет R.

Дирк указывает на официальную документацию по данным в пакетах < / а>.

В качестве альтернативы, вот пример обучения из пакета ggplot2 одному из способов включения данных с помощью файлов rda и roxygen.

Вот каталог data в пакете ggplot2. В этом примере каждый файл данных хранится в отдельном rda файле (например, сгенерированном с использованием save(foo, file='foo.rda').

введите описание изображения здесь

См. файл 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"
person Jeromy Anglim    schedule 07.02.2014
comment
Обратите внимание, что книга Хадли по разработке пакетов теперь также содержит главу о различных способах добавления данных в пакет: r-pkgs.had.co.nz/data.html - person jhin; 31.03.2015
comment
Описания наборов данных перемещены в data.R. - person Roman Luštrik; 17.10.2016

x <- sample(1000)
devtools::use_data(x, mtcars)

http://r-pkgs.had.co.nz/data.html

person SmallChess    schedule 02.08.2017
comment
Благодарим вас за фрагмент кода, который может оказать некоторую немедленную ограниченную помощь. Правильное объяснение значительно улучшило бы его долгосрочную ценность, объяснив, почему это хорошее решение проблемы, и сделает его более полезным для будущих читателей с другими подобными вопросами. Измените свой ответ, чтобы добавить пояснения, включая сделанные вами предположения. - person sepehr; 02.11.2018
comment
должен быть usethis::use_data(x, mtcars), так как показанный ниже - person vlad1490; 01.06.2019