【发布时间】:2016-05-12 02:48:54
【问题描述】:
在开发 R 包时,如何为 S4 类导入 as() 方法?
更多细节:我需要将邻接矩阵转换为 graphNEL 对象(来自graph 包)。这是这样做的代码:
library("graph")
m <- rbind(
c(0, 0, 0, 0),
c(1, 0, 0, 0),
c(0, 1, 0, 0),
c(0, 0, 1, 0)
)
gr <- as(m, "graphNEL")
不幸的是,此代码在 R 包中失败:
Error in as(m, "graphNEL") :
no method or default for coercing “matrix” to “graphNEL”
问题似乎是导入所需的as() 方法,但我似乎无法弄清楚如何执行此操作。请注意,如果图形包包含在 Imports 中,这仍然会失败。
【问题讨论】:
-
是
as()的graph的一部分,还是methods-methods::as的一部分? -
methods::as 也不起作用。 as 的定义相当复杂(参见 ?as),而且我承认我对 S4 类不够熟悉,无法自己弄清楚这一点......