Prostym przykładem jest to, że utworzyłem rozszerzenie do show
, które jest metodą bazową S4. Nie chcę wywoływać rozwidlenia ujednoznaczniającego przez ponowne dokumentowanie show
w moim pakiecie, a także chcę skonsolidować dokumentację mojego rozszerzenia z show
w dokumentacji dla nowej klasy, myPkgSpClass
, przez dodanie aliasu dla show,myPkgSpClass-method
.Jak dodać alias specyficzny dla klasy bez ogólnego aliasu za pomocą Roxygen2?
#' @export
#' @aliases show,myPkgSpClass-method
#' @rdname myPkgSpClass-class
setMethod("show", "myPkgSpClass", function(object){ show(NA) })
Problem mam, jest to, że powoduje to poważne ostrzeżenie podczas dokumentacji, zbudowany przez roxygen2, Rd files with duplicated alias 'show':
ponieważ istnieje więcej niż jedna klasa rozszerzenie show
w tym pakiecie, a roxygen2 został automatycznie dodany ogólny termin na liście aliasów do wszystkich istotnych *-class.Rd
plików:
\alias{show}
\alias{show,myPkgSpClass-method}
Ale myślę, że nie chcę rodzajowego alias w żadnym z przypadków, ponieważ wymusi potrzebę dezambiguacji między show
w moim pakiet i baza show
. Ten problem dotyczy również innych metod S4 rozszerzonych z innych pakietów oprócz show
.
Jeśli oznaczę wszystkie metody specyficzne dla klasy tym samym plikiem .Rd
, ostrzeżenie zniknie, ale niejednoznaczność pozostanie, ponieważ alias show
wciąż jest automatycznie dodawany do tego wpisu. Jeśli ręcznie usuniemy plik \alias{show}
z pliku .Rd
, problem zostanie rozwiązany, brak ostrzeżeń podczas działania urządzenia lub R CMD check pkgname
. W jaki sposób mogę sprawić, by Roxygen2 nie dodawał ogólnego aliasu?
Inne background:
Jest to konkretny budynek pytanie z poprzedniej emisji dla eksportu/dokumentowanie rozszerzeń S4 metod Base: Is it necessary to export base method extensions in an R package? Documentation implications?
To jest bardziej szczegółowy niż, a nieobjętych następujący pytania dotyczące sposobu dokumentowania S4/zajęcia wykorzystujące Roxygen2:
How to properly document S4 methods using roxygen2
How to properly document S4 class slots using Roxygen2?
Zgłoś błąd. – hadley
https://github.com/klutometis/roxygen/issues/75 Nie jestem pewien, czy dotyczy to tylko S4. Nie testowałem na generycznych S3. –
Ten błąd nadal występuje w wersji 2.2.2 na CRAN (komentarz dodano do wydania na githubie). Naprawiono go w gałęzi S4, ale ten wydaje się nieaktywny przez ostatnie dwa lata. Z pewnością nie jest naprawiony w CRAN. –