Порядок параметров элементов документации пакета R

У меня есть пакет функций; одна функция имеет 22 параметра (включая ...). Недавно я переместил параметр из параметра ... в полный параметр и заметил, что, несмотря на то, что он описан в логическом порядке в списке параметров функции и в том же порядке в списке элементов @params roxygen2, когда я document() новый элемент находится под элементом ... внизу, и за ним следует другой параметр, который у меня тоже есть в логическом месте.

Пример: Скрипт выглядит так:

#' @param ParameterA does something
#' @param ParameterB does something else
#' @param ... optional extras

foo <- function(ParameterA, ParameterB, ...)

Файл Rd & help выглядит следующим образом:

Arguments

Parameter A    does something
...            optional extras
Parameter B    does something else

Я знаю, что это мелочь, но кто-нибудь знает, как это исправить? Я удалил файл .Rd и повторноdocument()ed безрезультатно.

Альбом Imgur (3 фото) скриншотов здесь: http://imgur.com/a/pUX4m

Изменить: больше копать: я запустил сборку и перезагрузку, проверил и увидел:

Documented arguments not in \usage in documentation object 'gbm.auto':‘tc’ ‘mapshape’.
Functions with \usage entries need to have the appropriate \alias entries, and all their arguments documented.
The \usage entries must correspond to syntactically valid R code.

Последний абзац перед "RC" здесь говорит, что @usage больше не требуется, поскольку v3 roxygen2 генерирует это автоматически. Но это больше не работает для меня, несмотря на то, что работало в прошлом.


person dez93_2000    schedule 27.09.2016    source источник
comment
Какую именно серию команд вы выполняете? Это все происходит в RStudio? Если вы можете сделать эту проблему легко воспроизводимой, это будет проще чтобы помочь вам   -  person MrFlick    schedule 27.09.2016
comment
привет всем Rstudio, ага. Не легко воспроизвести, на самом деле. Насколько я понимаю, если у вас есть элементы roxgyen2 в определенном порядке, document() отправит их в документ .Rd в том же порядке. Может быть, мои изменения просто как-то не пишутся. Скриншоты добавлены к основному вопросу.   -  person dez93_2000    schedule 27.09.2016
comment
Снимки экрана не очень полезны, потому что они обрезают важные фрагменты. Я предполагаю, что пример в вашем вопросе неточен. Согласно это обновление кода, порядок параметров должен быть в том порядке, в котором они появляются в порядке формальные определения функции, а не порядок, в котором вы перечисляете атрибуты @param.   -  person MrFlick    schedule 27.09.2016
comment
Я не уверен, что они отрезали, что полезно. Рисунок 1 — это верхняя часть скрипта R, показывающая параметры roxygen2 в правильном порядке. На картинке 2 ниже в том же скрипте показаны форматы определения функций (думаю, мы говорим об одном и том же?) в том же - правильном - порядке. На рисунке 3 показана панель справки в Rstudio, отображающая html-файл Rd, соответствующий R-скрипту, сгенерированный только с использованием document().   -  person dez93_2000    schedule 27.09.2016
comment
Похоже, что, учитывая порядок аргументов @params и функции в сценарии R, document() должен отправить их в файл .Rd, а commit/push должен отправить их в пакет github, а devtools::install_github(' SimonDedman/gbm.auto') должен загрузить и установить обновленный пакет с правильным порядком параметров в файле справки и другими внесенными изменениями. Я обеспокоен тем, что обновление/загрузка/загрузка происходят неправильно, так как другие изменения в сценарии выглядят так, как будто они не работают. Когда я набираю gbm.auto, чтобы увидеть сценарий, в нем отсутствуют параметры tc и mapshape (которые идут после ...).   -  person dez93_2000    schedule 27.09.2016


Ответы (1)


Нашел виновника: в папке R был другой скрипт с той же функцией внутри (по сути, черновик/форк основной функции с чем-то, на что я пытаюсь ее изменить). (Я предполагаю, что) document() записывал файл Rd для gbm.auto из gbm.auto.R, а затем перезаписывал файл Rd из gbm.auto_binonly.R, удаляя все изменения. Извините, ребята

person dez93_2000    schedule 27.09.2016