2013-11-27 65 views
1

我需要創建,使用R節點的實例的網絡,但我還需要在節點的一些屬性存在:創建,使用R

  1. 多少個連接/鏈路節點(即有多少鄰居它有)
  2. 這些連接是什麼(例如,如果該節點是1和被連接到節點2,它需要一個屬性)
  3. 需要的值設定爲節點(0或1 )

另外,如何使用循環以創建此節點的更多實例,但具有相同屬性的不同值。

我花了幾個小時尋找解決方案,並嘗試了很多軟件包,但總是有問題。

有人可以提出一個解決方案,並儘可能提供一個完整的例子嗎?

非常感謝提前。

+1

你想通過這個網絡實現什麼?您可能可能將您描述的數據結構表示爲data.frame。 – unique2

+0

我想創建一個由多個連接在一起的節點組成的單工隨機網絡。 – LoneWolf

+0

是的,但你想用它做什麼?你想要應用什麼類型的分析? – unique2

回答

3

使用像igraph庫這樣的東西可能在這裏工作得很好。例如:

使含節點

node.data <- data.frame(
    one=c("a","a","b"), 
    two=c("b","c","c") 
) 

之間的關係的data.frame製作的圖表/網絡從所述數據

g <- graph.data.frame(
    node.data, 
    directed=FALSE # make this true if your network has a direction in the links 
) 
plot(g) 

enter image description here

添加值以每個頂點(節點)

g <- set.vertex.attribute(g,"value",value=c(1,0,0)) 

這些然後可以檢索爲這樣:

get.vertex.attribute(g,"value") 
#[1] 1 0 0 

爲適應這對隨機產生的網絡中,可以使用sample功能。

例如使用類似...

one=sample(letters[1:10],100,replace=TRUE) 

...的data.frame調用內部將讓你隨機生成的鏈接。同樣可以應用於生成頂點屬性,如...

sample(0:1,100,replace=TRUE) 
+0

@ user3043867:通過電郵提供的所有幫助,請確保點擊左側的刻度標記以提示他的答案並接受它。 – flodel