将“apply”功能应用于“模块化”功能时出错

时间:2013-02-25 05:22:49

标签: r apply modularity igraph

今天我无法将apply函数应用于modularity函数,后者函数位于'igraph'包中。以下是代码和结果“

> library(igraph)
> g = graph.full(2)
> modularity(g, 1:2)
[1] -0.5
> apply(FUN = modularity, MARGIN = 1, X = matrix(1:4, ncol = 2), graph = g, weights = NULL)
Error in UseMethod("modularity") : 
no applicable method for 'modularity' applied to an object of class "c('integer',     'numeric')"

我能够以这种方式使用applymodularity功能,并且昨天没有出现任何错误消息。但今天R抛出上面的错误信息。有人遇到过这个问题吗?请告诉我如何解决它。谢谢!

1 个答案:

答案 0 :(得分:1)

图表名称更改为 x 应该有效。在这里,我也对术语进行了重新排序,但它是可选的。

apply(X = matrix(1:4, ncol = 2) , MARGIN = 1,FUN = modularity, x = g, weights = NULL)
1] -0.5 -0.5

您收到错误,因为模块化找不到其x参数,因此请尝试将其应用于apply给出的列矩阵。