Matrix包定义了一堆S4方法来相乘矩阵,这些方法通过S4通用函数%*%
、crossprod
和tcrossprod
进行调度。
我该如何导入"%*%"方法以在自己的包中使用?当我运行devtools::document()
时,这段代码无法正常工作:
#' @title my function
#'
#' @description Does magic Matrix stuff
#' @import methods
#' @importFrom Matrix "%*%" Diagonal
myfun <- function(x, y){
x %*% Diagonal(x=y)
}
如果x是稀疏矩阵,我希望确保此函数使用Matrix包中的稀疏矩阵乘法方法。但是当我运行devtools::document()
时,出现以下错误:
Updating mypackage documentation
Loading mypackage
Error: object ‘%*%’ is not exported by 'namespace:Matrix'
@import methods
并没有解决我的问题,@importMethodsFrom Matrix "%*%"
也不行。 - Zach