gpt4 book ai didi

r - 从 Matrix 包中导入 S4 函数

转载 作者:行者123 更新时间:2023-12-03 23:52:13 25 4
gpt4 key购买 nike

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'

最佳答案

您应该使用 @importMethodsFrom并删除运算符周围的引号。您可能还想使用 @export 导出函数(您可能已经知道这一点,但它使答案更加完整)。以下对我有用,没有错误。

#' @title my function
#'
#' @description Does magic Matrix stuff
#' @import methods
#' @importFrom Matrix Diagonal
#' @importMethodsFrom Matrix %*%
#' @export
myfun <- function(x, y){
x %*% Diagonal(x=y)
}

关于r - 从 Matrix 包中导入 S4 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26783766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com