Zusammenführen von Stringsvektoren in einer Liste in R

Ich habe eine Reihe von Zeichenfolgen zusammen mit der entsprechenden ID im Format ID: Zeichenfolge als Liste von Vektoren inR

d <- list( c("SD1:LUSH", "SD44:CANCEL", "SD384:FR563", "SD32:TRUMPET"), c("SD23:SWITCH", "SD1:LUSH", "SD567:TREK"), c("SD42:CRAYON", "SD345:FOX", "SD183:WIRE"), c("SD345:HOLE", "SD340:DUST", "SD387:ROLL"), c("SD455:TOMATO", "SD39:MATURE"), c("SD12:PAINTING", "SD315:MONEY31", "SD387:SPRING"),  c("SD32:TRUMPET", "SD1:FIELD"))

[[1]]
[1] "SD1:LUSH"     "SD44:CANCEL"  "SD384:FR563"  "SD32:TRUMPET"

[[2]]
[2] "SD23:SWITCH" "SD1:LUSH"    "SD567:TREK" 

[[3]]
[3] "SD42:CRAYON" "SD345:FOX"   "SD183:WIRE" 

[[4]]
[4] "SD345:HOLE" "SD340:DUST" "SD387:ROLL"

[[5]]
[5] "SD455:TOMATO" "SD39:MATURE" 

[[6]]
[6] "SD12:PAINTING" "SD315:MONEY31"    "SD387:SPRING" 

[[7]]
[7] "SD32:TRUMPET" "SD1:FIELD" 

Ich möchte die Vektoren nach ihren IDs zusammenführen. Vektoren mit gemeinsamen IDs müssen unter Beibehaltung der entsprechenden Zeichenfolgen zu einem neuen Vektor zusammengeführt werden. Doppelte ID: In solchen zusammengeführten Zeichenfolgen können Zeichenfolgenkombinationen entfernt werden. Die Gesamtdaten enthalten etwa 2000 solcher Vektoren. Die gewünschte Ausgabe aus den Beispieldaten ist

out <- c("SD1:LUSH, SD1:FIELD,  SD23:SWITCH, SD32:TRUMPET, SD44:CANCEL, SD384:FR563,  SD567:TREK", "SD12:PAINTING, SD42:CRAYON, SD183:WIRE, SD340:DUST SD345:FOX, SD345:HOLE, SD387:SPRING, SD387:ROLL", "SD455:TOMATO, SD39:MATURE") 

[1] "SD1:LUSH, SD1:FIELD,  SD23:SWITCH, SD32:TRUMPET, SD44:CANCEL, SD384:FR563,  SD567:TREK"            
[2] "SD12:PAINTING, SD42:CRAYON, SD183:WIRE, SD315:MONEY31, SD340:DUST SD345:FOX, SD345:HOLE, SD387:SPRING, SD387:ROLL"
[3] "SD455:TOMATO, SD39:MATURE"

Ich habe versucht, es zu konvertierendata.frame benutzenmerge(), fand es aber nicht sinnvoll. Ist es möglich, zuerst mit Hilfe des ID-Teils des Strings nach einer Kreuzung zu suchen, gefolgt von der Vereinigung der entsprechenden Vektoren? Ich habe versucht mitintersect() undunion(), aber ich kann nicht nur den ID-Teil der Vektoren verwenden.

Ich bin ziemlich neu im Schreiben von R-Skripten.

Aktualisieren Wie @CarlWitthoft betonte, versuche ich, die Übereinstimmungsbedingung für das Zusammenführen mit diesem Bild klarer zu machen.

Kurz gesagt, ich möchte Vektoren zusammenführen, die in Bezug auf SDxyz einen Schnittpunkt zwischen sich haben: ___ oder versuchen, die Vereinigung der überlappenden Zeichenfolgenvektoren zu erhalten.

Ich habe es gelöst!!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage