igraph
を使用して、異なるエッジ属性の値に応じてエッジをグラフに追加することができます。igraphを使用してエッジ属性に基づいて複数のエッジを追加する
Iはdput
は、以下れるdata.frame有する:
df <- structure(list(nodeA = c("CFTR", "CFTR", "CFTR", "CFTR", "CFTR",
"CFTR"), nodeB = c("CYP7A1", "KRT16", "ABCA3", "SLC22A11",
"PBK", "ACSM1"), score = c(0.239, 0.24, 0.292, 0.269,
0.233, 0.168), text = c(129L, 0L, 287L, 246L,
161L, 155L), mining = c(163L, 241L, 413L, 71L, 92L, 56L),
experiments = c(0L, 0L, 101L, 0L, 75L, 0L), homologs =c(0L,
0L, 609L, 0L, 0L, 0L)), .Names = c("nodeA", "nodeB",
"score", "text", "mining","experiments",
"homologs"), class = "data.frame", row.names = c(NA, 6L))
エッジ属性の値のために、0と異なる場合、私はグラフ(g <- graph.data.frame(df, directed=FALSE
)に新しいエッジを追加したいと例えば、エッジCFTR--CYP7A1
のために、私は余分なエッジ(text
とmining
属性の他に1つ)のペアを追加したいと思い、私はscore
に興味を持っていないです(それは私のグラフの重量である)
'mを<行く追加を追加することができます(df、id = 1:2)。 m < - m [m $値!= 0、]; g < - graph.data.frame(m、directed = FALSE) 'を返します。これは期待される結果ですか? – user20650
が閉じますが、@ user20650ではなく、グラフ全体にエッジを追加します。つまり、私は完全なグラフ(27ノードと91エッジ)をプロットしたいのですが、これらの91エッジに加えて、edge.attributesが0 – user2380782
とは異なるノード間に追加のものを描画したいと思っています。私は元のグラフにエッジを追加することを期待していました。例えば、属性に応じて別の色を使用していましたが、質問のデータについては、そこにすべてのエッジがありますか?期待される成果を確認するだけです。 – user20650