2015-07-10 162 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