今天,我无法将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抛出上面的错误信息。有人遇到过这个问题吗?请告诉我如何解决。谢谢!

最佳答案

将图形名称更改为x应该可以。在这里,我还对条款进行了重新排序,但这是可选的。

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


由于模块性找不到其x参数,因此会出现错误,因此请尝试将其应用于apply给定的列矩阵。

关于r - 将“应用”功能应用于“模块化”功能时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15060636/

10-13 21:35