Включить примеры данных при разработке пакетов R

19

Я очень хочу узнать, как включить примеры данных в качестве комментариев, написанных над функциями, например:

##' @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 ... Может ли кто-нибудь сказать мне, что пошло не так? Правильно ли это включить примеры данных в конце справочного документа функции?

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

    
задан alittleboy 12.09.2012 в 17:05
источник

3 ответа

11

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

Для чего это стоит, руководство содержит раздел 1.1. 5 Данные в пакетах , которые объясняют это.

    
ответ дан Dirk Eddelbuettel 12.09.2012 в 17:16
источник
  • Спасибо @ Dirk за предложения! –  alittleboy 16.09.2012 в 23:17
32

У Хэдли Уикхема есть глава в его книге «Пакеты 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"
    
ответ дан Jeromy Anglim 07.02.2014 в 09:23
источник
  • Обратите внимание, что в книге Adley по разработке пакетов теперь также содержится глава о различных способах добавления данных в пакет: r-pkgs.had.co.nz/data.html –  jhin 31.03.2015 в 02:12
  • Описания описаний переместились в data.R. –  Roman Luštrik 17.10.2016 в 10:38
  • @ RomanLuštrik Спасибо. Я дал ответ на обновление. –  Jeromy Anglim 18.10.2016 в 01:20
0
x <- sample(1000)
devtools::use_data(x, mtcars)
  

Ссылка

    
ответ дан SmallChess 02.08.2017 в 07:21
источник