如何使用在别处创建的预集群数据在R中创建树状图?

问题描述:

我有用Java编写的集群代码,从中我可以创建一个嵌套的树结构,例如,下面显示了第一次迭代中聚集了两个“isRetired”对象的树的一小部分,并且该组在第五次迭代中与“setIsRequired”聚类。括号中显示了簇中对象之间的距离。如何使用在别处创建的预集群数据在R中创建树状图?

|+5 (dist. = 0.0438171125324851) 
    |+1 (dist. = 2.220446049250313E-16) 
     |-isRetired 
     |-isRetired 
    |-setIsRetired 

我宁愿出现在更传统的树状图的风格我的结果,它看起来像R有一些不错的功能,但因为我知道关于R非常小,我是如何利用他们不清楚。

是否有可能将Java结构写入文件,然后用几行R代码生成树形图?从R计划,我想这样做:(?一“hclust”对象)从一个文件

  1. 读入的数据结构
  2. 转换数据结构为树形图(使用“作为-dendrogram情节‘

我想问题归结为R是否提供了从文件中读取并且该字符串输入转换成(hclust一种简单的方法“?)

  • 使用显示树形图’)对象。如果是这样,输入文件中的数据应该是什么样子?

  • 我认为你要找的是phylog。您可以用Newick符号将文件打印在文件中,解析出来并构建一个可轻松可视化的phylog对象。网页的结尾给出了一个如何做到这一点的例子。你也可以考虑phylobase。尽管您不希望这些包提供的全部功能,但您可以搭载它们用于表示树和其绘图功能的构造。

    编辑:它看起来像一个类似的问题已经问here之前提供了一个更简单的解决方案。所以基本上,你需要在这里编码的唯一东西就是你的Newick解析器或者你想从Java输出的任何其他表示的解析器。

    +0

    +1指向其他工具和Newick符号。我希望花费比在R中编写解析器更少的工作。我希望能够与hc2Newick(http://ugrad.stat.ubc.ca/R/library/ctc/html/hc2Newick.html)互补。与此同时,Dendroscope(http://ab.inf.uni-tuebingen.de/software/dendroscope/)看起来像是一种有前途的工具,可以用Newick格式绘制树状图。 – kc2001 2011-05-12 00:54:06

    +0

    在仔细观察之后,我发现phylog和phylobase似乎都使用了ape软件包,所以它似乎是迄今为止最“最小”的软件包(虽然它比*只有树状图更多*)。 – kc2001 2011-05-16 05:00:00

    ape(分析系统发育和进化)软件包包含树状图绘制功能,并且它能够读取Newick format中的树。因为它是一个可选包,你需要install它。理论上容易使用,例如以下命令可以生成一个树状图:

    > library("ape") 
    > gcPhylo <- read.tree(file = "gc.tree") 
    > plot(gcPhylo, show.node.label = TRUE) 
    

    Dendrogram produced using APE

    我的主诉迄今的是,很少有诊断信息时,有含在Newick格式树信息的文件的语法麻烦。我已经成功地用其他工具读取这些相同的文件(在某些情况下,这可能是因为这些工具在语法上可以忽略某些错误)。

    您还可以使用phylog软件包生成树状图,如下所示。

    > library(ade4) 
    > newickString <- system("cat gc.tree", intern = TRUE) 
    > gcPhylog <- newick2phylog(newickString) 
    > plot(gcPhylog, clabel.nodes=1) 
    

    Dendrogram produced using Phylog

    既可以在Newick格式树木工作,都有许多绘图选项。