大規模なネットワーク(20kノード)で頂点属性を設定したい。簡単にするために、ここでedgelistのサンプルです:大規模ネットワークのデータフレームから頂点属性を設定する
library(igraph)
el <- matrix(c(1, 2,1,3,1,4,2,3,2,5,3,6,3,7,3,8,3,9,12,13,13,14), nc = 2, byrow = TRUE)
el[,1] = as.character(el[,1])
el[,2] = as.character(el[,2])
g = graph.data.frame(el,directed=FALSE)
はまた、私はこのようになり、データフレームを持っている:
ID = c(1,2,3,4,5,6,7,8,9,NA,NA)
Attr1 = c(12,13,14,NA,14,13,16,NA,24,13,15)
Attr2 = c(NA, "bb", "cc","ff","dd",NA,"hh",NA,"kk","dd","cc")
Attributes = data.frame(ID, Attr1, Attr2)
rm(Attr1)
rm(Attr2)
rm(ID)
私は頂点属性などの属性データフレームからのデータを使用したいです。この例のように、データの一部が欠落しています(たとえば、ネットワーク内の一部の頂点が属性データフレームに表示されません)。データフレームの行数は、頂点の数と一致します。 マッチングのIDを使用して属性を追加したいとします(エッジグリッドのIDと属性データフレームはほとんど同じですが、一部のIDはエッジグリストまたはデータフレームにのみあります)。
このソリューションは機能しますが、作成したデータフレームではなく、値を参照しています。私は私の質問を更新します。ありがとうございました! – PCK1992
@ PCK1992 data.frameにあるものを使用するように更新されました。 – G5W
私はこのソリューションを試しましたが、コードを正しく使用すれば完全にはわかりません。私は再び自分の問題を特定しようとしました。このソリューションでは、edgelistとAttributesの両方のデータフレームのIDを使用して属性を照合しますか? – PCK1992