Построение ошибки пакета 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) и вы увидите, что функция справки - это та, которая в утилитах не найдет документацию вашего пакета.

Другие вопросы по тегам