非常に大きなエッジ リストがあり、特定の重みを持つエッジのみをプロットしたいのですが、どうすればよいですか?
私はこれまで試してきました
plot.graph(E(sgdf)[E(sgdf)$weight==3]))
しかし、私はいつもこのエラーが発生します
Error in V(g) : Not a graph object
最初にグラフをコピーし、不要なエッジを削除して、残りをプロットします。
> sgdf.copy <- delete.edges(sgdf, which(E(sgdf)$weight != 3)-1)
> plot(sgdf.copy)
igraph は 0 ベースのエッジ インデックスを使用するのに対し、R は 1 ベースのインデックスを使用するため、-1
が必要です。delete.edges
更新: 匿名の編集者 (編集は残念ながら拒否されました) が指摘したように、igraph は igraph 0.6 以降から 1 ベースのエッジ インデックスを使用します。したがって、igraph 0.5.x 以前を使用している場合にのみ 1 を引きます。