sna
パッケージでmrqap
テストを実行するために隣接配列を取得するにはどうすればよいですか? このように、私は、属性を持つエッジリストに、加重複数のネットワーク(二無向と有向1)を有する:snaパッケージでmrqapテストを実行するための隣接配列
source target terr type weight
1010 1007 1 3 1
1011 1303 1 2 1
1014 1048 1 4 2
1014 1138 1 4 3
Iは、アレイ形式におけるノードの同じ数、このような何か(といくつかの行列を必要としかし)adyacency行列形式で:私が試した
type 2
source target weight
1010 1007 0
1011 1303 1
1014 1048 0
1014 1138 0
type 3
source target weight
1010 1007 1
1011 1303 0
1014 1048 0
1014 1138 0
type 4
source target weight
1010 1007 0
1011 1303 0
1014 1048 2
1014 1138 3
一つのスクリプト:
el=read.csv("S_EDGES.csv", header = TRUE, sep = ",") # edgelist
Nodos=read.csv("S_NODES.csv", header = TRUE, sep = ",")
el$type[el$type==2] <- 1 # un solo vínculo de infraestructura
library(igraph)
G=graph.data.frame(el, Nodos, directed=F)
subv = (Nodos$id (Nodos$terr_name=="ART") # this fail and then also "neighverts" and "g3"
SG = decompose.graph(G,mode="weak") # because different territories are in fact different networks
neighverts = unique(unlist(sapply(SG,FUN=function(s){if(any(V(s)$name %in% subv)) V(s)$name else NULL})))
g3 = induced.subgraph(graph=G,vids=neighverts)
# or:
AM=get.adjacency(G, type=c("both"), attr=NULL, names=TRUE, sparse=FALSE) # doesn't distinguish the types of links in different matrices
ありがとう@ user20650あなたのご提案に、私は質問を改善しました。私は同じ構造(各タイプに関係なく、同じ数のノード)を維持しながら、各マトリックスのリンクのタイプを区別する必要があります(マルチマップでした)。 –
こんにちは、@セバスチャン、アップデートありがとう。私はあなたがやろうとしていることを知らない、申し訳ありません。しかし、私は誰かが助けてくれると思っています。あなたの例を再現可能にすることを試みる必要があります。例として、 'el'と' Nodes'のいくつかの行を例として定義します。その例では、出力隣接行列がどのように見えるかを示しています。ありがとう – user20650
もう一度@ user20650に感謝します。私は最初のテーブル(ソースターゲットterr型の重み)の "エル"の例を与える、ベースノードは今重要ではない –