最近更新了两次corrplot包,最新的0.60版本较之前的0.40进步较多。之所以取名为0.60版本,意味着此包的自评分终于上了60的及格分数,也有可能是这个包的最终版本。corrplot的应用范围很明确,就是中小矩阵 (<100*100) 的可视化,尤其是中小相关矩阵、距离矩阵、相似度矩阵等。

本次主要变动如下:

  1. 彻底解决了空白边距过大问题(尤其在文本标签较长时候),这个是个历史遗留问题,之前的方法比较原始简陋,已经有好多人发邮件投诉了(要不我也没动力更改);现在迭代来计算strwidth直至收敛,可以精确计算文本的长宽度了。控制文本大小的参数 tl.cex 也更精准了。
  2. 修订了参数名称和帮助文档,之前的参数取名、帮助文档太随意了。比如”PCA”排序就会让人错觉以为是第一主成分,目前更改成了更为妥当的”AOE”,是angular order of the eigenvectors的意思,具体参见文档。而第一主成分用”FPC”来表示了;此外,从效果来看,”AOE”排序结果一般都比”FPC”要好。提到矩阵排序,seriation包已经很NB了,更多方法可以参见此包。PS: 作者之一Kurt Hornik是R Core之一,是CRAN的主要维护人,每天都要check、答复新进来的包,德艺双馨、产出惊人,是绝对的教授中的战斗兽。
  3. 增加了zoom参数,来放缩原矩阵,使之可以轻松地应用到非[-1,1] 的矩阵;同时增加了参数cl.lim,使得颜色轴标签上只显示需要展示的部分。当然,此时颜色轴上的标签也会和缩放前的一样。
  4. 增加了横轴文本标签的旋转角度参数tl.srt,这个我虽不喜欢,但有人希望加这个方便阅读。总结来看,corrplot的每次更新都是有人发邮件说需要这样那样的功能……
  5. 增加、删除了一些函数。主要是加了corrMatOrder() 和corrplot.mixed () 函数来做矩阵排序和混合可视工作。删除了corrplot.*()系列不那么常用的函数。
  6. 进一步优化了代码并谨慎地选择了各个参数的默认值。虽然这个没有什么技术难度,但因为涉及到的很多都是绘图,审美之类的对我这种时常喜欢纠结的土人实在很麻烦…… 其实,更新最多的时间竟然花在了默认参数的选择之上,这个可能和我的星座有关!!

可视化是数据&模型&结果的美学展示,其中在图形展示这一块主观性较强,因此corrplot很注重各个细节,提供了很多选项让大家自己选择。但就因为这这样,corrplot函数的参数多达43+个,显得很累赘。这就是所谓的双刃剑吧。

此外,为了体验GitHub,我把corrplot主页从Rforge上迁移到了GitHub: https://github.com/taiyun/corrplot 如果有什么问题或者新的需求请到Issues那里提出。

再此外,我把R与最优化的文档也放在GitHub上了: https://github.com/taiyun/Optimization-using-R ,我自己近来空闲时间很少了,希望感兴趣的同学能对这份文档增删添补,以方便大家快速、便捷地查阅、使用。

为了使得本博文不那么呆板,文末以图会友吧:

相关文章

  5 Responses to “中小矩阵的可视化: corrplot 更新至 0.60”

  1. 恭喜加入GitHub大本营!

  2. 写个比较完美的包真是不容易啊,感觉维护更新包比刚开始写包还愁人……

  3. [...] 全文:http://taiyun.cos.name/2011/12/corrplot-update-to-0-60/ [...]

  4. 最后那个图是怎么实现的呢?应该是最开始的那个版本corrplot包中的几种混合哈

 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