我试图将@
R 中的运算符变成 S3 系统的通用函数。
基于编写 R 扩展中的章节:添加新的泛型我尝试像这样实现泛型@
:
`@` <- function(object, name) UseMethod("@")
`@.default` <- function(object, name) base::`@`(object, name)
但是,这似乎不起作用,因为它破坏@
了 S4 方法。我使用Matrix
包作为 S4 实例的示例:
Matrix::Matrix(1:4, nrow=2, ncol=2)@Dim
(Matrix::Matrix(1:4, nrow
@.default
= 2, ncol = 2), Dim) 中的错误:“dgeMatrix”类的这个对象没有名称“name”的插槽
如何实现泛型@
以便在 S4 类的情况下正确调度?
编辑
还对为什么它可能不是一个好主意的意见感兴趣?