コマンドbipartite_projection
の結果である1つのモードグラフの2つのグラフからエッジ属性を採用したいと思います。二部グラフから一つのモードグラフへの遷移エッジ属性
library(igraph)
data <- data.frame(people= c(letters[1:5],letters[5:8],"a"),
events=c(1,1,1,1,1,2,2,2,2,2),
year=c(2004,2004,2004,2004,2004,2005,2005,2005,2005,2005))
g <- graph_from_data_frame(data)
V(g)$type <- V(g)$name %in% data[,1] # Nodes are the people
E(g)$year # this is what I want
proj <- bipartite.projection(g)
g2 <- proj[[2]]
問題はここから
E(g2)$year # here it is gone
el <- get.edgelist(g2)
el <- cbind(el, E(g)$year) # ideally add it here to the edgelist
、誰もが1、後でそれにアクセスできるように、適切にインデックス、それをこのエッジ属性や方法を維持する方法を知っていますか?前もって感謝します!明確化のため
編集(感謝@Heikkiとあなたの編集の提案のための@dllhell):
この背後にある考え方は、一時的なネットワークからedgelistを取得することです。ノードは人であり、エッジはイベントです。イベントは特定の年に行われます。同じ年に同じイベントでどの人が出会ったのか知るために、私はbipartite_projection
を使っています。
多分これものすごく編集した写真は役立ちます:
あなたが見ることができるようにエッジが基本的にイベントですが、残念ながら今年の情報が欠落して行きます。 これは物事をクリアするかもしれません。
あなたの助けのおかげで、これまで:-)
ない私が正しく理解してください、しかし、あなたはちょうどそのリストに値を追加したい場合は、この 'list.append(エル、E(G)$の年のようにそれを行うことができます) ' – Barbara
あなたのコメントをありがとう。 3つの列と1つの長いリストではなく、私がedgelistの形式を持っていればよいでしょう。 –
年を 'el'の最初の列と一致させるべきか、それとも2番目の列と一致させるべきでしょうか? – Barbara