我的數據是這樣的: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
,我會需要它作爲這樣的邊緣的列表:
a;b
b;c
a;c
a;c
b;a
前三邊緣從ID1的到來,第四從ID2開始,ID3沒有任何邊緣,因此ID4沒有任何優勢。任何想法如何實現這一目標?融化/投?
謝謝!我使用你以前的版本:lst < - lapply(split(item,DG),function(x)if(length(x)> = 2)t(combn(x,2))else NULL) nodes = as .data.frame(do.call(rbind,lst [!sapply(lst,is.null)])),但是可以請你告訴我如何「攜帶」身份證和一些其他變量(年齡,性別等)原始df並將它們作爲「節點」中的列? – ElinaJ 2015-02-11 07:03:00
@ElinaJ你可以請更新您的文章與新的數據集和預期的結果 – akrun 2015-02-11 07:37:36
爲了清楚和匹配的答案,我做了一個新的話題:http://stackoverflow.com/questions/28449118/creating-edge-list-with -additional-variables-in-r – ElinaJ 2015-02-11 07:55:45