R:仅基于名称和标签的关系可视化

时间:2014-11-02 15:10:42

标签: r visualization

我需要有关如何仅根据名称和标签可视化表格相似性的建议。 Pie对我有用,但我需要表现出某种相似性:例如tree3和tree10共享相同的功能 - 这里是链接。我需要简单的解决方案RCircos似乎做了我需要的东西,但我迷失在文档中,可能我需要更简单的东西。 谢谢!

name    feature
3   feature1
10  feature1
10  feature2
3   feature2
6   feature2
7   feature2
8   feature2
3   feature3
6   feature3
1   feature3
2   feature3
2   feature3
6   feature3
10  feature3
2   feature4
3   feature4
3   feature4
10  feature4
4   feature5
5   feature5
9   feature5
10  feature5

2 个答案:

答案 0 :(得分:4)

我找到了一个有趣的解决方案

dat <- read.table("dat.txt", header=T)
dat <- with(dat, table(name, feature))
library(circlize)
chordDiagram(as.matrix(dat), transparency = 0.5)

enter image description here

答案 1 :(得分:2)

我开始以为我可以向你展示一个名为&#39; mosaic&#39;在&#39; vcd&#39;包装但它没有那么好用。原因如下:yoyu提供的数据太少,无法正确使用该绘图程序。查看表的输出:

 require(vcd)  # "visualizing categorical data"
with( dat, table(name, feature) )
#------------
    feature
name feature1 feature2 feature3 feature4 feature5
  1         0        0        1        0        0
  2         0        0        2        1        0
  3         1        1        1        2        0
  4         0        0        0        0        1
  5         0        0        0        0        1
  6         0        1        2        0        0
  7         0        1        0        0        0
  8         0        1        0        0        0
  9         0        0        0        0        1
  10        1        1        1        1        1

在我看来,这是显示少量数据的最佳方式。大量空的&#34;细胞&#34;是一个需要重视的重要方面,可以立即看到几个具有多个值的单元格。

现在看一下情节。上面的标签非常具有误导性,因为第一个名称类别的主要特征是100%的单一值是&#39; feature3&#39;。

 png(); mosaic( with( dat, table(name, feature) ) ); dev.off()

enter image description here

这使得其他类别的命名标签不会以任何合理的方式排列。但如果这只是一个玩具数据样本并且实际日期更加密集,那么马赛克图可能非常有助于在同一图中显示相对关联和边际比例。如果您将参数的顺序颠倒到table,则会得到&#39; name&#39;

的比例

enter image description here

好一点。但同样的稀疏性导致标签与值之间缺乏良好的关联。如果这实际上来自基于树的 分析时,您应该显示树而不是在没有底层结构的情况下抽象特征的名称。