近来有些奇怪,有几位R core们居然给本小子写邮件,让本小子着实感到吃惊。比如,首先是Brian Ripley,这是R core中的core,前面提到过他在R源代码中的突出贡献,这位真人不露面、网上找不着照片的大佬,前段时间给我发封邮件说,你小子的animation包的启动消息不正规啊,因为我用suppressPackageStartupMessages()无法屏蔽启动消息;我一看,R里面居然还存在这么长名字的函数,顺便学习了message()函数,从此不再用老土的cat()函数了,后来考虑了一下,干脆把启动消息去掉了,library(animation)不会再有任何提示消息。
然后是我发现Duncan Temple Lang这位不靠谱的大叔做着一些我很喜欢的不靠谱的事情,于是乎对Omegahat心向往之,一来二去聊了聊,将来有机会一定要会一会他。
Sweave对注释的处理是要么完全去除,然后R代码会被整理整齐,要么完全保留,但R代码也保留原样,而我一直希望既能保留注释又能整理代码,这才诞生了animation包中tidy.source()函数(在小邱聪明的技巧下),前段时间想想给Friedrich Leisch,也就是Sweave的作者,发封邮件说了这个事情,打探一下是否能多设置一些Sweave选项,比如把parse()和deparse()函数以选项的形式抽象出来,这样就可以实现既整理代码又保留注释的功能了,不过大叔貌似很忙,回了一封邮件就再也没有音信了,后来由于Michael Friendly对Sweave的一些功能请求在R-help上发了邮件,我们一干人等通过Duncan Murdoch间接了解到Friedrich的确很忙,不过好消息是圣诞节过后Sweave可能会有更新,届时用户可以自行设置图形设备,不必局限在PDF和EPS。但整理代码的事情仍然遥遥无期……唉,还得用硬性Hack的方法。
Martin Maechler前面提过,看到我们开R会,说要向The R Journal交报告啊,回头再跟他谈谈明年R会议的事情。
最意想不到的是,Duncan Murdoch刚才居然给我发个邮件问问题,额滴神啊,这位大叔可是Rtools的管理者、若干个包的作者(rgl等)啊。不过大叔问的是Flash的问题,还好我知道那么一点点,算是能解决。趁此机会,干脆回问两个C语言问题,子曾经曰过:问一个够本,问两个赚一个。
用地图展示统计信息有一个明显的缺陷,就是各地区的面积大小可能会极大地影响你的视觉。如:北京上海面积小,但人口多,若是直接用地图的颜色或斜线密度表示人口多少,那么这些面积小的地区将会很不显眼,而事实上它们本应该是很“吸引眼球”的地方,这种情况下,我们可以将地区边界变形,使得面积和统计信息成比例。尽管你会看到一副很丑的图,但表达的信息却是被校正过的。
一个更明显的例子是美国的大选,若用红蓝标示各州的选举情况,似乎红方麦凯恩大胜了,而事实是麦凯恩获胜的州都是人口稀少的地方,总账算下来,仍然是奥巴马那小子赢了(比如他拿下了人口众多的加州)。看看以下两幅地图的对比:
Duncan Temple Lang几年前写了一个包叫Rcartogram,发在Omegahat上,不过不幸的是,Windows用户不能使用。它是基于一个C程序的,而这个程序里面的算法又涉及到另一个做快速傅里叶变换(FFT)的软件包,因此在Windows下编译起来很复杂(我花了很长时间也没搞清楚)。
Cartogram的一种算法可以参见”Diffusion-based method for producing density-equalizing maps“一文。
过节就给点过节的气氛吧,尽管美国人不会过五四青年节。
昨晚注意到Duncan Temple Lang在他的统计计算课上用到了我的kNN动画,心里小小激动了一下,呜哈哈哈。另外也注意到加拿大某老师把动画作为作业布置给她的学生了,让学生参考animation包自己创作。而今天打开邮箱,又发现George Washington大学的某教授发来邮件询问动画事宜。
只可惜本小子已经半年没更新动画包了。
Duncan Temple Lang总是喜欢做一些有趣的东西,这回,他想了个主意,先用Cairo生成SVG图形,然后编辑XML文件,把SVG的那些特性事后加进去,例如图形中的文本标记、超级链接、动画等等。
SVGAnnotation包参见:http://www.omegahat.org/SVGAnnotation/
感兴趣的朋友注意使用Firefox浏览示例页面,对于SVG动画,Firefox还不太能支持,尚在努力开发中,所以如果想看动画,还是Opera吧。


近期评论