मैं इस तरह डेटा है:आर
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
और मैं इसे इस तरह किनारों की एक सूची के रूप में की आवश्यकता होगी: ID1 से आ रही
a;b
b;c
a;c
a;c
b;a
पहले तीन किनारों चौथे, आईडी 2 से, आईडी 3 में कोई किनार नहीं है, इसलिए आईडी 4 से उस और पांचवें से कुछ भी नहीं है। इसे पूरा करने के तरीके पर कोई विचार? पिघल/डाली?
धन्यवाद! मैं आपके पिछले संस्करण का उपयोग कर रहा हूं: lst <- lapply (विभाजन (आइटम, डीजी), फ़ंक्शन (x) यदि (लंबाई (x)> = 2) टी (combn (x, 2)) अन्य न्यूल) नोड्स = के रूप में .data.frame (do.call (rbind, lst [! sapply (lst, is.null)]), लेकिन क्या आप कृपया मुझे सलाह दे सकते हैं कि कैसे "साथ ले जाएं" आईडी और कुछ अन्य चर (आयु, लिंग इत्यादि) मूल डीएफ और उन्हें "नोड्स" में कॉलम के रूप में रखते हैं? – ElinaJ
@ElinaJ क्या आप अपने डेटा को नए डेटासेट के साथ अपडेट कर सकते हैं और अपेक्षित परिणाम – akrun
स्पष्ट होने और उत्तरों से मेल खाने के लिए, मैंने एक नया विषय बनाया: http://stackoverflow.com/questions/28449118/creating-edge-list-with -डिशनल-वेरिएबल्स-इन-आर – ElinaJ