更新了一下corrplot包,变动如下:

1.  解决了之前的一些小bug,并且把原来的一些for()循环用*apply函数重写了一下。
2. 增加了corr.rect()函数,可以在相关阵的图上面框框,类似于谱系图上面的那种矩形,即将原来的多个变量分为n类。这两种图(见图1、图2)可以好好比较一下,各有特点。
3. 在原先的corrpot()函数中,当排序方式为系统聚类时,可以根据聚类结果直接加框框,具体由rect.hc, rect.col, rect.lwd三个参数控制。当然,也可以在图画完之后,用corr.rect()函数再加,只不过方便性上打了折扣。

目前,CRAN主页上新版已经出炉,国内中科院的两个镜像还没有同步,大约得半天左右吧(香港那个镜像早已废弃)。此外,WINDOWS下默认的图形设备在绘制png等非矢量格式图时,效果欠佳,建议用Cairo包或者cairoDevice包来生成质量较高的png图片。

图 1 corrplot画出来的

图1代码如下:

corrplot(cor(mtcars), order="hclust", rect.hc = 3)

图2 传统的聚类谱系图,可以与图1好好比较一番


再放一个图1和图2的联姻图:

图3 二者之联姻,和heatmap有些相似

corrplot包的其他问题:

1. DESCRIPTION文件里面的suggests package里面不小心加了个rgl包,悲剧悲剧。
2. corrplot()函数参数过多,现在是38个左右,很多时候我自己都要返回去看看参数意义,显得比较累赘。
3. 变量的文本标签的计算方法不太好,有时得多次调解cex参数,比较麻烦,这个是个比较大的问题。
4. 之前,准备多做做变量排序的事情,后来发现seriation包已经做得非常好了,其中一位作者Kurt还是R core之一,每次提交package时,几乎都是他把关。corrplot包的定位还是轻量级,在维数<50的时候娱乐娱乐。

欢迎广大朋友批评指正。

相关文章

  20 Responses to “corrplot 0.2-0版本出炉”

  1. 原来太云的头像就是第一个图啊。这个图很形像哈,关联程度越深,点就越大,颜色也越深,的确对图片的质量要求较高。呵呵,可不可以把坐标轴的标签全部水平放置,竖着看起来有点累。

    • 不算是第一个图,我的是PCA排序的,并且没有分成小块块。

      本问题中横着可以,因为单词长度问题,竖着经常会重叠~

      去RUC了,向兄台请教VIM:)

      • 呵呵,不敢当,叫我晓伟就行了,互相学习,共同进步,咱得有开源精神@传说中不是七月有R会议吗?到北京参加吗?

  2. 额,网卡了,回复了两遍,单词长的话,可以考虑相对坐标轴倾斜45度。

  3. 太云,你这个框框很有意思

  4. :-P 留个笑容…争取让你的图做更多的事情

  5. 呵呵,还一直没用过。今天拿来用了一下。好话就不说了,提点意见。

    其实图的本质跟R内置的heatmap很像,但做得更漂亮,更灵活。但缺点也有,因为局限于相关系数,所以显示范围只有-1~1,而如果我想可视化若干个集合间重叠,首先是需要自己做normalization,然后是corrplot产生的那个legend也只能是这个范围,或者用cl.range调整成更小的范围,没法表达两个集合间重叠元素的数量。不知道是不是我看文档不仔细。

    建议是不要局限于相关矩阵,可以放宽到任何类型的矩阵的可视化:)

  6. 现在是0.3版了,第一个图的那个参数rect.hc是改成addrect了吧

  7. 准备用你这包来画图 :)

    Thanks!

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!:
   
© 2010 优秀是一种习惯 taiyun.wei@cos.name Suffusion theme by Sayontan Sinha