我有一个S4类,我想定义这些对象的线性组合。

是否可以在此特定类上分派(dispatch)*+函数?

最佳答案

这是一个例子:

setClass("yyy", representation(v="numeric"))

setMethod("+", signature(e1 = "yyy", e2 = "yyy"), function (e1, e2) e1@v + e2@v)
setMethod("+", signature(e1 = "yyy", e2 = "numeric"), function (e1, e2) e1@v + e2)

然后,
> y1 <- new("yyy", v = 1)
> y2 <- new("yyy", v = 2)
>
> y1 + y2
[1] 3
> y1 + 3
[1] 4

关于r - R中S4个对象的总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8937719/

10-10 19:42