如何解决显然不合理的“vector.pmt:444:无法为向量保留空间,内存不足”与 igraph
我在使用 igraph/tidygraph 时遇到以下错误:
vector.pmt:444 : cannot reserve space for vector,Out of memory
不过,似乎与内存问题无关。事实上,在类似的大型网络上运行我的脚本时,我没有出现同样的错误。
我正在使用我正在开发的包 biblionetwork 来计算边表。当我使用我的 biblio_coupling()
函数时,一切正常:我可以用 tidygraph::tbl_graph()
创建我的图,并带有边和节点。当我使用我的 coupling_strength()
函数(这只是一种计算边缘权重的不同方法)时,tbl_graph()
函数给了我上面的错误。我曾尝试使用 coupling_strength()
和 tbl_graph()
在其他输入数据(大十倍)上重现此错误,并且运行良好。
这是一个可重现的例子:
devtools::install_github("agoutsmedt/biblionetwork",force = TRUE)
library(biblionetwork) #Ref_stagflation and Nodes_stagflation are included in the package
library(tidygraph)
# this is working perfectly well
edges <- biblio_coupling(Ref_stagflation,source = "Citing_ItemID_Ref",ref = "ItemID_Ref")
graph <- tbl_graph(nodes = Nodes_stagflation[Type == "Stagflation"],edges = edges,directed = FALSE,node_key = "ItemID_Ref")
# this is not working
edges_bis <- coupling_strength(Ref_stagflation,edges = edges_bis,node_key = "ItemID_Ref")
您可以比较 edges
和 edges_bis
以查看它是完全相同的文件,只是权重值发生了变化。我曾尝试用 edges_bis
权重 (edges
) 替换 edges_bis$weight <- edges$weight
权重,但此后错误仍然存在。我已经在具有 8000 个节点和 300 000 个边的类似网络上测试了相同的东西,并且它运行良好。
所以我完全在为此苦苦挣扎,我不知道问题出在哪里。
非常感谢您的帮助,
最好,
奥雷利安
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。