Ich habe Daten wie folgt aus:Count identische Zeilenwerte für jedes Paar von Spalten erstellen Netzwerk Graph
dat <- data.frame(
music = c("classical", "jazz", "baroque", "electronic", "ambient"),
john = c(1,1,0,1,1),
jeff = c(1,0,0,1,0),
jane = c(0,1,1,0,0)
)
music john jeff jane
1 classical 1 1 0
2 jazz 1 0 1
3 baroque 0 0 1
4 electronic 1 1 0
5 ambient 1 0 0
Und will die Überlappung zwischen den Individuen auf den Säulen grafisch darzustellen - Wie oft haben sie beide 1s in die gleiche Reihe? Wenn ich diese bekommen konnte data.frame
:
result <- data.frame(person1 = c("john", "john", "jeff"), person2 = c("jeff", "jane", "jane"), overlap = c(2, 1, 0))
person1 person2 overlap
1 john jeff 2
2 john jane 1
3 jeff jane 0
ich das Diagramm erstellen konnte ich im Sinn haben:
library(igraph)
g <- graph.data.frame(result, directed = FALSE)
plot(g, edge.width = result$overlap * 3)
Aber ich kämpfen, um die Daten zu transformieren reihenweise Überlappung zwischen jedem Paar zählen von Spalten. Wie kann ich das machen?
Versuchen 'm
user20650
@ user20650 das ist eine perfekte Antwort ist;. ich denke, man sollte es offiziell machen – Craig