使用all_simple_paths(R / CRAN)限制igraph中的最大步数

时间:2017-07-12 17:52:17

标签: r dataframe igraph cran

我一直在使用igraph all_simple_paths命令来输入输入,例如df:

 To        From
 A         B         
 B         C         
 C         D         
 A         F         
 F         E         
 E         D         

并将其转换为输出,例如df2:

                    Protein1  Protein2  Protein3 Protein4 
        Pathway1    A          B        C        D 
        Pathway2    A          E        F        D 

这适用于较小的数据帧,但我需要分析的实际数据帧在Excel中长达4,000行。每当我尝试运行此问题底部的代码时,我的计算机都会崩溃,或者需要很长时间。

我认为这是因为all_simple_paths找到从一个点到另一个点的所有路径(其中一些路径长度超过20步)。我需要的所有分析都是4个步骤。 igraph的all_shortest_paths函数,对于我的数据,只包括三个步骤。

那么,有没有人知道如何限制all_simple_paths中可能的步骤数量?我能找到的唯一答案来自github(https://github.com/igraph/igraph/issues/774),但我不知道如何“明确地创建邻域”。

我用于此的代码(需要xlsx和igraph)是:

- 我下载包含“链接”的文件

links<-read.csv("/users/Desktop/Sortilin.csv", header=TRUE, as.is=T)
Links<-as.data.frame(links)

- 我从“链接”文件

创建节点的数据帧
nodes<-as.character(unique(unlist(Links)))
Nodes<-as.data.frame(nodes)

-I制作一个igraph对象,显示从Sortilin到PIMT的步骤。

net<- graph_from_data_frame(d=Links, vertices=Nodes, directed=T) 

- 这是撞坏我的电脑的一步!

PathsE<-all_shortest_paths(net, from="Sortilin", to="PIMT")

- 然后我将输出操作到数据帧等

我对R很新(并且编码一般!)所以任何帮助都会受到赞赏!!

0 个答案:

没有答案