Включить пример использования данных в документацию этих данных (при разработке пакета R)

#r #package #rstudio #roxygen

#r #пакет #rstudio #roxygen

Вопрос:

Возможно ли включить пример, использующий эти данные, в документацию данных в пакете R (с использованием Roxygen через Rstudio)?

Например, тестовый пакет.R в каталоге R

 #' My New Colour
#' 
#' Enables use of my new colour emph{aNewColour} in plots.
#' @name aNewColour
#' @docType data
#' @format A colour defined by rgb(red=232,green=81,blue=0,maxColorValue=255)
#' @usage data(allNewColours)
#' @examples
#' curve(dnorm,from=-4,to=4,col=aNewColour,lwd=2)
NULL
  

В том же каталоге R у меня есть файл: allNewColours.rda, который состоит только из переменной aNewColour со значением #E85100.

Когда я нажимаю «Проверить» в меню сборки R studio (что эквивалентно команде R CMD Check, я полагаю), я получаю следующее сообщение об ошибке:

** Примеры

кривая (dnorm, от=-4, до = 4, col = новый цвет, lwd = 2) Ошибка в plot.xy(xy, type, …) : объект ‘Новый цвет’ не найден Вызовы: curve -> plot -> plot.default -> plot.xy Выполнение остановлено Ошибка: Командасбой (1) Выполнение остановлено

Завершен со статусом 1.

Можно ли использовать данные «aNewColour» в примере документации «aNewColour»?

Редактировать: Хорошо, я нашел свою проблему — если я перемещаю файл .rda в папку данных (на том же уровне, что и папка R, все работает)… Долгое время боролся с этим, только чтобы определить решение в течение нескольких секунд после публикации этого вопроса…

Комментарии:

1. Решение проблемы см. в разделе Редактирование. Теперь это работает. Мне нужно было, чтобы мой файл .rda находился в каталоге данных на том же уровне, что и каталог R

2. Следует также отметить, что для этого примера требуется LazyData: yes в файле ОПИСАНИЯ, иначе он не будет работать.

3. Ответьте как официальный ответ и отметьте правильный

4. Кстати, с roxygen2 теперь вы можете документировать "aNewColour" , и он будет заполнять имя и т. Д. с правильными значениями

Ответ №1:

переместите файл .rda в папку с данными — и введите LazyData: yes в файле ОПИСАНИЯ