Простым примером является то, что я создал расширение для show, которое является базовым методом S4. Я не хочу вызывать виртуализацию, повторно документируя show в своем пакете, а также хочу консолидировать документацию моего расширения до show в документации для нового класса myPkgSpClass, добавив псевдоним для show,myPkgSpClass-method.
#' @export
#' @aliases show,myPkgSpClass-method
#' @rdname myPkgSpClass-class
setMethod("show", "myPkgSpClass", function(object){ show(NA) })
Проблема, с которой я столкнулась, заключается в том, что это приводит к серьезному предупреждению во время создания документации roxygen2, Rd files with duplicated alias 'show':, потому что в этом пакете имеется более одного расширения класса show, а roxygen2 автоматически добавляет общий термин в списке псевдонимов для всех соответствующих файлов *-class.Rd:
\alias{show}
\alias{show,myPkgSpClass-method}
Но я думаю, что мне не нужен общий псевдоним в любом из экземпляров, потому что это заставит необходимость устранения значений между show в моем пакете и базой show. Эта проблема также относится к другим методам S4, расширенным из других пакетов, кроме show.
Если я помечаю все методы класса для одного и того же файла .Rd, то предупреждение уходит, но неопределенность остается, поскольку псевдоним show по-прежнему автоматически добавляется для этой записи документа. Если я вручную удалю \alias{show} из файла .Rd, проблема будет решена, никаких предупреждений в roxygen или R CMD check pkgname. Итак, как я могу заставить Roxygen2 не добавлять общий псевдоним?
Другой фон:
Это конкретный вопрос, связанный с предыдущей проблемой для экспорта/документирования расширений S4 в базовые методы: Нужно ли экспортировать расширения базового метода в R-пакет? Последствия для документации?
Более конкретным, чем и не охваченным, являются следующие вопросы, касающиеся документирования методов/классов S4 с использованием Roxygen2:
Как правильно документировать методы S4 с помощью roxygen2
Как правильно документировать слоты класса S4 с помощью Roxygen2?