我的问题与这个未回答的问题中概述的问题基本相同,该问题导致提交并成功关闭了错误报告。
给定一个现有的S4 generic
, 就我而言diag
和,我希望从另一个包diag<-
中导出一个实现。S4 class
阅读另一个线程,我发现如果我分别使用标签@exportMethod diag<-
和,我可以成功导出这些函数@exportMethod diag
,但我无法让文档正常工作。
第一个线程和随后关闭的错误报告表明以下应该有效(在这种情况下为方法show
):
#' @export
#' @aliases show,myPkgSpClass-method
#' @rdname myPkgSpClass-class
setMethod("show", "myPkgSpClass", function(object){ show(NA) })
但是,当我尝试执行以下操作diag
时,尝试构建时出现错误:
#' @export
#' @aliases diag<-,big.matrix-method
#' @rdname bigmatrix-diag
setMethod("diag<-", signature("big.matrix"), function(x, value) {
SetDiag(x@address, value) # C++ implementation
x
})
#' @export
#' @aliases diag,big.matrix-method
#' @rdname bigmatrix-diag
setMethod("diag", signature("big.matrix"), function(x) {
GetDiag(x@address) # C++ implementation
})
错误: Error : Sections \title, and \name must exist and be unique in Rd files
。
澄清:目前没有diag
可用于此类的实现。
编辑:解决错误:
我可以解决此错误,但不能不破坏diag
.
如果我按如下方式添加唯一名称和标题,它将成功构建:
#' @name diag
#' @title Extract and Replace the diagonal from a big.matrix
#' @aliases diag<-,big.matrix-method
#' @docType methods
#' @exportMethod diag<-
#' @rdname bigmatrix-diag
setMethod("diag<-", signature("big.matrix"), function(x, value) {
SetDiag(x@address, value)
x
})
#' @name diag
#' @title Extract and Replace the diagonal from a big.matrix.
#' @aliases diag,big.matrix-method
#' @docType methods
#' @exportMethod diag
#' @rdname bigmatrix-diag
setMethod("diag", signature("big.matrix"), function(x) {
GetDiag(x@address)
})
但是当我输入?diag
一个 R 会话时,我得到了错误:
Error in (function (path, query, ...) : replacement has length zero
我认为这意味着它s finding two helpfiles for
diag`。