Ich möchte eine Matrix erstellen, die die Gruppenmitgliedschaft aus einem Datenrahmen angibt. Zum Beispiel eine NxN-Matrix, wobei 1 bedeutet, dass eine Nachbarschaft innerhalb der gleichen Stadt wie eine andere Nachbarschaft liegt und 0 bedeutet, dass die Nachbarschaften Teil einer anderen Stadt sind. Zum Beispiel:Erstellen einer Matrix basierend auf der Gruppenmitgliedschaft
hoodid <- c(1:10)
cityid <- c(1, 1, 1, 2, 2, 3, 3, 3, 3, 3)
df <- data.frame(hoodid, cityid)
df
# hoodid cityid
# 1 1 1
# 2 2 1
# 3 3 1
# 4 4 2
# 5 5 2
# 6 6 3
# 7 7 3
# 8 8 3
# 9 9 3
# 10 10 3
Das gewünschte Ergebnis ist:
# 0 1 1 0 0 0 0 0 0 0
# 1 0 1 0 0 0 0 0 0 0
# 1 1 0 0 0 0 0 0 0 0
# 0 0 0 0 1 0 0 0 0 0
# 0 0 0 1 0 0 0 0 0 0
# 0 0 0 0 0 0 1 1 1 1
# 0 0 0 0 0 1 0 1 1 1
# 0 0 0 0 0 1 1 0 1 1
# 0 0 0 0 0 1 1 1 0 1
# 0 0 0 0 0 1 1 1 1 0
Vielleicht interessieren Sie sich ja auch für das für diese Art von Dingen entworfene igraph-Paket – Frank
Können Sie noch einen Hinweis geben, welcher Teil von igraph helfen würde? – bcrew
'from_adjacency' wird Ihre Adjazenzmatrix in eine Grafik umwandeln. Von dort können Sie die Graphalgorithmen nutzen, die normalerweise für die Analyse solcher Daten verwendet werden. – Frank