2

我对 R 比较陌生,正在尝试解决以下问题:

我在带有 32 位版本 R 的 Windows 7 Enterprise 平台上工作,并且我的机器上有大约 3GB 的 RAM。我有大规模的社交网络数据(大约 7,000 个顶点和大约 30,000 个边),这些数据当前存储在我的 SQL 数据库中。我设法将这些数据(省略顶点和边缘属性)拉入 R 数据框,然后拉入 igraph 对象。为了进一步分析和可视化,我现在想使用 RCytoscape 将此 igraph 推送到 Cytoscape 中。目前,我的方法是将 igraph 对象转换为 graphNEL 对象,因为 RCytoscape 似乎适用于这种对象类型。(igraph 绘图功能太慢,缺乏进一步的分析功能。)

不幸的是,我在运行这个脚本时总是遇到内存问题。不过,它以前曾与较小的网络合作过。

有谁知道如何解决这个问题?或者你能推荐任何其他与 R 配合得很好并且可以处理如此大规模数据的可视化和分析工具吗?

任何帮助将非常感激。提前非常感谢!

最好的,伊格纳西奥

4

2 回答 2

1

很抱歉花了几天时间回复您。

我刚刚进行了一些测试

1)在 R 中创建邻接矩阵 2)然后从矩阵创建 R graphNEL 3)(可选)添加节点和边缘属性 4)创建、显示、布局和重绘 CytoscapeWindow

(all times are in seconds)

nodes   edges  attributes? matrix    graph   cw    display   layout  redraw   total
  70      35       no       0.001    0.001   0.5      5.7      2.5    0.016    9.4
  70       0       no       0.033    0.001   0.2      4.2      0.5    0.49     5.6
 700     350       no       0.198    0.036   6.0      8.3      1.6    0.037   16.7
1000     500       no       0.64     0.07   12.0      9.8      1.8    0.09    24.9
1000     500      yes       0.42    30.99   15.7     29.9      1.7    0.08    79.4
2000    1000       no       3.5      0.30   73.5     14.9      4.8    0.08    96.6
2500    1250       no       2.7      0.45  127.1     18.3     11.5    0.09   160.7
3000    1500       no       4.2      0.46  236.8     19.6     10.7    0.10   272.8
4000    2000       no       8.4      0.98  502.2     27.9     21.4    0.14   561.8

令我完全惊讶和懊恼的是,“cw”(新的.CytoscapeWindow 方法)出现了指数级的放缓——这根本没有意义。可能您的内存耗尽与此有关,并且是可以修复的。

我将对此进行探索,并可能在下周进行修复。

顺便说一句,您知道可以直接从邻接矩阵创建 graphNEL 吗?

g = new ("graphAM", adjMat = matrix, edgemode="directed")

谢谢,伊格纳西奥,你最有帮助的报告。我早就应该做这些计时测试了!

  • 保罗
于 2012-04-17T22:58:58.577 回答
0

自从我使用 Cytoscape 以来已经有一段时间了,所以我不确定该怎么做,但是手册指出您可以使用“表格导入”功能将文本文件用作输入。

igraph您可以使用该功能以write.graph()多种方式导出图形。通过这种方式,您可以避免必须转换为graphNEL可能足以不会耗尽内存的对象。

于 2012-04-11T08:32:34.927 回答