Построение ошибки пакета R с помощью devtools::document
Я собираю R пакеты, используя devtools. Я создал пакет с некоторыми функциями, которые я хотел бы включить. И я хотел бы загрузить пакет и его документацию при запуске. Мои файлы пакета расположены по адресу:
'~/global/Rcode/Startup Package'
Мой файл.Rprofile выглядит так:
.First <- function(){
library(devtools)
location <- '~/global/Rcode/Startup Package'
document(location)
}
Однако, когда я открываю R, функции из пакета загружаются, а документация - нет.
Если я запускаю те же строки кода после запуска, а именно:
library(devtools)
location <- '~/global/Rcode/Startup Package'
document(location)
тогда все работает и пакет правильно документирует. Таким образом, это кажется довольно странной ошибкой!
(Как частичное исправление я могу запустить
install(location)
и относиться к нему как к обычному пакету r, и все работает нормально, однако это требует времени, и, поскольку я намерен много обновлять пакет, и не хочу запускать его каждый раз, особенно потому, что должна работать опция devtools.)
1 ответ
Удостовериться utils
загружается перед загрузкой devtools
в противном случае нет help
функция для devtools
перезаписать.
С.Rprofile:
.First = function(){
library(utils)
library(devtools)
document("./foo")
}
тогда R запускается:
[stuff]
Type 'q()' to quit R.
Updating foo documentation
Loading foo
А также help
является devtools
версия:
> environment(help)
<environment: namespace:devtools>
Удалить это library(utils)
и вы увидите, что функция справки - это та, которая в утилитах не найдет документацию вашего пакета.