2013-04-04 28 views
1

我目前在做R A網絡分析,使用Statnet包(http://statnet.csde.washington.edu/R:添加頂點屬性到網絡(使用statnet)

到目前爲止,我已經能夠:

1 )使用network()函數構建社交網絡。我得到的信息最初是以關聯矩陣的形式存在的(每個項目一行,項目成員在列中),在R建立網絡之前,我轉換爲相關(社會矩陣)表格。

2)圖網絡和計算的統計資料(兩者爲整體網絡和用於網絡頂點)

3)添加外部頂點屬性的網絡

4)畫出與根據其屬性以不同的顏色頂點的網絡。

現在我想通過向網絡添加邊緣屬性來補充我的分析(區分關係,例如不同類型的項目)。

我知道我可以使用set.edge.attribute()函數,並且我需要輸入與網絡中存在的邊的總數相同大小的矢量。但是,我不知道如何對這個向量的邊緣屬性進行排序,以便函數將它們正確地分配給相應的邊緣。

任何人都知道network()函數如何在內部對邊進行排序?任何想法如何排序我的向量的邊緣屬性,以獲得適當的匹配?

在此先感謝您的幫助!

+0

您的問題標題是指頂點屬性。你的問題涉及邊緣屬性。 – ScienceFriction 2015-12-10 13:22:18

回答

2

network()函數可以根據各種類型的輸入(例如邊界列表或鄰接矩陣)創建網絡,所以如果您給出更多的代碼示例來解釋您如何創建網絡以及您的邊緣屬性數據所在的結構。

我相信一般而言,network()將以與輸入邊緣列表相同的順序創建邊緣。因此,如果您的邊緣屬性向量與原始數據的順序相同,則應該可以安全地使用set.edge.attribute()。如果您的邊緣屬性採用矩陣形式,則可以使用set.edge.value()

+0

感謝您的回覆Skyebend!我修改我的代碼以使用邊界列表(而不是關聯矩陣)構建網絡,並且我能夠以這種方式正確地分配邊緣屬性。 – moralec 2013-04-30 15:01:36

相關問題