2015-07-10 128 views
1

的文件建立一個網絡,我有以下文件:如何從邊緣

Apple Pear 

Apple Raspberry 

Raspberry Pear 

Lemon Pear 

Lime Plum 

Pineapple Grape 

作爲輸出,我想水果鏈的名單 - 在每一行,任何兩個水果聯繫起來的是一起出現在一條線上,例如,一條線將是菠蘿,葡萄,因爲每條線只出現一次,一起出現。

我在尋找以下的輸出:

Apple Pear Raspberry Lemon 

Lime Plum 

Pineapple Grape 

沒有任何人有什麼建議嗎?

謝謝!

+0

你喜歡哪種語言? – MichaelChirico

+0

Unix最好,我也有一些perl/python。謝謝! – Oddish

+0

對不起,如果任何行中有任何列的副本,那麼這些行應該合併(例如,第1行和第2行中的Apple,第2行和第3行中的樹莓以及行中的第1行,第3行和第4行中的Pear合併爲一行檸檬,因爲它與第4行中的梨在同一行) – Oddish

回答

0

看起來你基本上是在創建了一個水果網絡之後,所以你最好使用network包(我剛剛在回答這個問題時已經瞭解到,所以它可能具有我不需要的各種功能「不明白)。

要閱讀文本,使用read.table(text=...)

x<-read.table(text="Apple Pear 

Apple Raspberry 

Raspberry Pear 

Lemon Pear 

Lime Plum 

Pineapple Grape") 

然後只需創建x一個network對象:

library(network) 
net<-network(x) 

例如,你可以繪製網絡:

plot(net) 

network (unlabelled)

尚未完全弄清楚如何獲得準確的期望輸出,但是您可以在上圖中看到我們已經實現了您想要的關聯。不確定你的最終目標,但看看network的一些教程。

+0

非常感謝你:) – Oddish