Простой пример: я создал расширение для 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?