2012-03-11 57 views
2

我使用R進行社交網絡分析,嘗試了SNA,Network和iGraph軟件包。如何更改R中網絡圖上的標籤?

我的數據是結構化的data.frame ... d <-

Source Target Weight Label 
1  2  0.5  "Fred" 
1  3  0.7  "Fred" 
2  3  0.9  "Bill" 
3  1  1.0  "Allen" 

(我也有一個版本,這只是(一)源,目標和重量,和一個單獨的文件(二)提供源ID和標籤值,即,對源的名稱之間的對應關係,其中a <-

Source Target Weight 
1  2  0.5 
1  3  0.7 
2  3  0.9 
3  1  1.0 

labels1 <-

Source Label 
1  "Fred" 
2  "Bill" 
3  "Allen" 

labels2 <-

Source Label 
1  "TrueName1" 
2  "TrueName2" 
3  "TrueName3" 

我有一個匿名的社交網絡的工作,所以我希望能夠使用,即標籤集輕易改變名稱標籤replottings之間--- 1或標籤集2,其中邊緣相同,但sourceID和Label Name之間的節點名稱對應關係發生更改。

但是,當試圖使用這些包中的任何一個時,似乎我將不得不將源和目標中的值轉換爲與標籤相同。有沒有簡單的方法將標籤附加爲源代碼的對應關係?

只要我有標籤列,像network(d)graph.data.frame(d, directed=TRUE)這樣的東西將無法正常工作。一旦我放棄這個類別,它會,但我的圖表有數字標籤。

我想什麼,能夠做的就是這樣的事情:

plot(a, labels=NA) 
plot(a, labels=labels1) 

plot(a, labels=labels2) 

,在圖表上的數字,匿名和非匿名標籤之間移動。

回答

0

對於igraph嘗試plot(a,vertex.label = NA)。

http://igraph.sourceforge.net/doc/R/plot.common.html或?igraph.plotting對繪圖有更多幫助。

+0

這會使標籤無法標籤。我的問題是關於如何標記它們,並輕鬆地在各組標籤之間切換。 – Mittenchops 2012-03-12 16:40:59

+0

只需使用標籤的矢量而不是NA。 – 2012-05-12 17:59:32