一個簡單的例子是我創建了一個擴展到show
,這是一個S4基本方法。我不想通過重新記錄show
在我的包引起歧義叉,我也希望我的分機的文檔鞏固show
文檔中新類,myPkgSpClass
,通過添加一個別名show,myPkgSpClass-method
。如何使用Roxygen2添加沒有通用別名的類別別名?
#' @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
。此問題也適用於除show
之外的其他程序包擴展的其他S4方法。
如果我將所有類特定的方法標記爲相同的.Rd
文件,則警告消失,但仍有歧義,因爲該文檔條目仍會自動添加show
別名。如果我從.Rd
文件中手動刪除\alias{show}
,則問題似乎已解決,在roxygen或R CMD check pkgname
期間沒有警告。那麼我如何讓Roxygen2不添加通用別名?
其他背景:
這是從以前的問題,具體的問題,建設出口/記錄S4擴展底座方法: Is it necessary to export base method extensions in an R package? Documentation implications?
它比更具體的,而不是覆蓋,下面的關於歸檔S4方法/類的問題,使用Roxygen2:
How to properly document S4 methods using roxygen2
How to properly document S4 class slots using Roxygen2?
提交錯誤報告。 – hadley
https://github.com/klutometis/roxygen/issues/75不知道這是否僅適用於S4。尚未在S3泛型上進行測試。 –
該錯誤在2.2版中仍然存在。2關於CRAN(評論添加到github上的問題)。它在S4分支中是固定的,但在過去的兩年中似乎沒有活動。它絕對不是固定在CRAN上。 –