2016-05-31 54 views
0

,我有看起來像這樣的數據(EXCEL):r中轉換數據形式2mode網絡


Excel


我在第一列2600部電影有名字的其他專欄的董事和職員。有些名字出現好幾次了。

我無法將此excel數據轉換爲可以在r中執行雙模式網絡分析(事件:電影,與這些電影的關係)的格式。是否有任何幫助文件或代碼可以將這些數據轉換爲適當的格式?

+1

不知道我理解你所需的輸出格式 - 那些「與那些電影的聯繫」是什麼意思? – Spacedman

+0

您能否顯示所需的樣例輸出 –

回答

0

您可以使用igraph(它稱爲這種類型的網絡雙方)做到這一點。

假設您已經創建了一個數據框,其中包含您的excel數據,稱爲dt。

dt 
    Movie  director codirector staff1 
1 StarWars  JJAbrams  <NA> Anne 
2 Abarter JamesCameron  <NA> <NA> 
3 Loiter   Kenn  Klark Kage 

然後可以創建一個二分圖,g如下:

庫(reshape2)

edgelist <- melt(dt, id.vars = 'Movie')[, -2] 
edgelist <- edgelist[complete.cases(edgelist), ] 

library(igraph) 

g <- graph.data.frame(edgelist) 

V(g)$type <- V(g)$name %in% edgelist[, 1] 
g 
plot(g) 
IGRAPH DN-B 9 6 -- 
+ attr: name (v/c), type (v/l) 
+ edges (vertex names): 
[1] StarWars->JJAbrams  Abarter ->JamesCameron Loiter ->Kenn   Loiter ->Klark  
[5] StarWars->Anne   Loiter ->Kage 

enter image description here

igraph二部圖是常規圖形與每個頂點的類型屬性設置爲TRUE/FALSE。無論哪種類型的頂點(在這種情況下,電影被設置爲TRUE)都無關緊要。

+0

非常感謝!它幫助了很多! – TrebiLime