2017-07-02 89 views
0

我在用R處理iGraph軟件包時遇到了一些麻煩。具體來說,當我試圖讓所有節點在2度分隔範圍內從給定的節點,然後使用該列表通過函數運行一些操作。使用iGraph中的ego函數生成連接節點列表,以通過函數進行解析

我對R中的列表工作並不是非常有信心,更不用說iGraph.vs類。

理想情況下,我想生成一個使用ego到第二度Listnode_test <- (ego(Graph1, 2, "accumsan"))的頂點列表。這返回Listnode_test。下面是輸出:

structure(list(structure(c(1L, 3L, 5L, 9L, 10L, 11L, 16L, 24L, 1 c(1, 3, 5, 9, 10, 11, 16, 24, 32, 59, 64, 2, 4, 6, 14, 15, 1

的問題是,我希望它在這一點說"node1, node2, node3"等列表理想返回節點列表..所以我可以通過這樣的功能運行它們:

for (i in 1:length(Listnode_test[[1]])) 
{ 
    Perspective <- 1 
    Listnode <- neighborhood.size(Graph1, 1, Listnode_test[[1]][i], mode="in") 
    ##a save script either to a DF or global env 
} 

基本上我想得到一個節點,然後得到一個列表,每個節點連接到它在X度的分離。在生成這個列表之後,我想將它提供給計算所提供列表中每個節點的入度的函數。

任何幫助將不勝感激。我在下面提供的頂點DF的例子:

> vertices from to query 1 accumsan a Benefit 2 nonummy a Benefit 3 mollis a Benefit 4 velit a Benefit 5 et a Benefit 6 vulputate a Benefit 7 magna a Benefit 8 et a Risk 9 feugiat ac Benefit 10 feugiat ac Sequential 11 mollis accumsan Benefit 12 a accumsan Benefit 13 mauris accumsan Benefit 14 et accumsan Benefit 15 fermentum accumsan Other 16 mollis accumsan Scope

回答

1

好了,所以我已經想通了,現在該怎麼辦呢。

node.list <- Listnode_test[[1]][i] 
    > node.list 
    + 1/68 vertex, named: 
    [1] vel 

    node.list <- as_ids(node.list) 

    > as_ids(node.list) 
    [1] "vel" 


> node.list <- as_ids(node.list) 
> df <- data.frame (node.list, in.degree, perspective) 
> df 
    node.list in.degree perspective 
1  vel   2   1 

在IGRAPH的as_ids()功能轉換的iGraph.vs爲載體:)

+0

如果這是正確的答案,請接受它。你可以接受你自己的答案。 – lebelinoz