#r #devtools
#r #devtools
Вопрос:
Я работаю в академическом проекте под названием «DataSHIELD» ( https://www.datashield.ac.uk ), и я участвую в разработке и тестировании новых функций для них. Одна из новых функций называется « ds.glmPredict
«, которая представляет собой настраиваемую версию собственной функции R « predict.glm()
«, но с такими изменениями, что аналитику данных не возвращается неразглашаемая статистика (это общая цель всего проекта DataSHIELD).
Код этой функции включен в проект и ветку github, которые я помещаю в проект RStudio, чтобы все было помещено в нужный каталог.
Но тогда, если я, скажем, попытаюсь загрузить справку для этой конкретной функции « ds.glmPredict
«;
> ?ds.glmPredict()
Error in .helpForCall(topicExpr, parent.frame()) :
no methods for ‘ds.glmPredict’ and no documentation for it as a function
Тем не менее, если я затем запускаю devtools::check()
это, это работает через что-то за кулисами в R (извините за мое незнание devtools, я никогда не сталкивался с хорошим источником, который объясняет мне, что такое пакет devtools или делает простым языком), и после его завершения я могу запустить ?ds.glmPredict()
, и он выдаст информацию справочной консолиэто я хотел в первую очередь:
> ?ds.glmPredict()
Rendering development documentation for 'ds.glmPredict'
Это какая-то проблема с инфраструктурой DataSHIELD, из-за которой определенные функции не распознаются R при первом запуске программы, или это, вероятно, что-то совсем другое?
Комментарии:
1. В вашем рабочем процессе, похоже, отсутствует важный этап создания пакета.
devtools::check
создает пакет (включая документацию) перед запуском тестов.
Ответ №1:
devtools::document
сделает свое дело. R
не удается найти файлы справки, потому что вы извлекли только код функции без .Rd
файлов, которые есть package rootman
, поэтому он выдает ошибку. devtools::check
автоматически создает и проверяет пакет, и в процессе сборки он вызывает devtools::document
, который является просто оболочкой для roxygen2::roxygenize
этого, выполняет тяжелую работу по преобразованию специальных комментариев в .Rd
файл.