Ich habe Daten wie folgt aus:Kantenliste Erstellen von in R
ID=c(rep("ID1",3), rep("ID2",2), "ID3", rep("ID4",2))
item=c("a","b","c","a","c","a","b","a")
data.frame(ID,item)
ID1 a
ID1 b
ID1 c
ID2 a
ID2 c
ID3 a
ID4 b
ID4 a
und ich würde es als eine Liste von Kanten wie diese benötigen:
a;b
b;c
a;c
a;c
b;a
die ersten drei Kanten von ID1 kommen, vierten von ID2 hat ID3 keine Kanten, also nichts davon und fünfter von ID4. Irgendwelche Ideen, wie man das erreicht? schmelzen/gießen?
Vielen Dank! Ich benutze Ihre vorherige Version: lst <- lapply (Split (Element, DG), Funktion (x) if (Länge (x)> = 2) t (combn (x, 2)) sonst NULL) nodes = as .data.frame (do.call (rbind, lst [! sapply (lst, is.null)])), aber könntest du mir bitte raten, wie "mitnehmen" ID und einige andere Variablen (Alter, Geschlecht etc.) ableiten das Original df und haben sie als Spalten in "Knoten"? – ElinaJ
@ElinaJ Könnten Sie bitte Ihren Beitrag mit dem neuen Datensatz und erwarteten Ergebnis aktualisieren – akrun
Um klar zu sein und die Antworten übereinstimmen, habe ich ein neues Thema: http://stackoverflow.com/questions/28449118/creating-edge-list-with -additional-variables-in-r – ElinaJ