Wie kann ich ein Adjazenz-Array zur Durchführung eines mrqap
Tests in sna
Paket bekommen? Ich habe einen gewichteten Mehrfachnetzwerk (zwei ungerichtete und ein gerichtet), in einer Kantenliste mit Attributen, wie folgt aus:Adjazenz-Array zur Durchführung eines MRQAP-Tests im SNA-Paket
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
ich mehrere Matrix mit der gleichen Anzahl von Knoten im Array-Format, so etwas wie dies benötigen (aber in adyacency Matrix-Format):
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
ein Skript ich habe versucht:
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
Dank @ user20650 für Ihren Vorschlag, verbesserte ich die Frage. Ich muss die Arten der Verbindung in jeder Matrix unterscheiden (es war ein Multigraph), der die gleiche Struktur beibehält (gleiche Zahl von Knoten, ob oder nicht bezogen auf jeden Typ) –
Hallo, @Sebastian, danke für das Aktualisieren. Ich weiß nicht, was Sie versuchen, tut mir leid. Aber ich denke für jemanden zu helfen, müssen Sie versuchen, Ihr Beispiel reproduzierbar zu machen. Definieren Sie also in Ihrer Frage ein paar Zeilen von 'el' und von' Nodes' als Beispiel und zeigen Sie für dieses Beispiel, wie die Ausgabe-Adjazenzmatrix aussehen würde. Danke, – user20650
Nochmals vielen Dank an @ user20650. Ich gebe ein Beispiel für "el" in der ersten Tabelle (Quelle Ziel terr Typ Gewicht), die Basisknoten ist jetzt nicht wichtig –