我一直想写点有关R语言的事儿,可每到落笔的时候,又觉着没什么可写的。
不过写点东西也不算是坏事,权当吃饱了消耗10卡热量。今天突发奇想,要不就写点不严谨的R语言吧。
我正式学R语言的契机,是多年前的一场面试,公司想招一个数据方面的开发工程师,而不是数据分析师,而且必须使用开源软件,那场面试的结果就是没有要我。但我觉着这是一个很好的机会,去做MATLAB、SAS做的事情,多么有前景啊(What a wonderful...)!
我还是厚着脸皮磨进了这家公司。鉴于我修车的底子,领导安排我学习使用R语言。从入门的角度看,R语言确实比较好学。举个例子,国内网速不行,安装国外工具包总会遇到各种问题,有些程序员抱怨时间都耗在网络上了,R语言这点考虑的很周到,在国内很多大学设置了镜像服务器,最近中山大学也设置了镜像服务器,珠三角的同学可以就近安装。其他语言的程序员可能就没那么幸运,必须寻找各种镜像源,阿里源什么,甚至还得使用专门的安装工具,例如针对国内的cnpm,用的时候,有种怪怪的感觉。
R语言是一个很小众的语言,国外还好一点,国内的开发者数量很少,以至于之前python vs R出现一边倒的现象,这个问题更早之前几位大神就讨论过,认为国内R语言开发者实在太少了,不利于国内R社区的发展,讨论完,几位大神就淡出江湖了。不过据说今年北京的R语言大会有三十多个分会场,不知道是哪家赞助商这么有钱,或者是某大学的广告号召力越发强大。
下图摘自统计之都2015年广州R语言大会的新闻稿,新闻稿称当天大雨,1000名报名者仍有500人参加。由此可见,R语言是多么小众。
当天会议有项演讲很吸引我,是游皓麟老师的R语言并行计算实践。游老师他们自己搭了一个大数据计算平台,我觉着国内缺少这样自主研发的氛围,大家比拼的是各种美式装备,沉下来做底层开发的其实很少,今天技术群里讨论电力大数据应用,我还特意翻出游老师的幻灯片,看一下自己是否比当年有所长进。
讲R肯定绕不过Rstudio,用过R的同学都知道它。Rstudio是一家美国公司,里面有著名的Hadley Wickham大神,新西兰统计学家。R语言有很多最好用的工具都是他开发的,2015年他获得美国统计学会的Fellow。他妹妹也是一名统计学家,是个很有意思的人,在自己的网站上特别注明:我哥是Hadley Wickham。
Rstudio另外要说的人是谢益辉。成长历程比较另类,毕业后毛遂自荐(这点必须强调)去了欧洲,干得不错,又和老板说:帮我写封推荐信,我要去读博。然后转辗进入了Rstudio,这些故事大家可以看看他的博客。在R语言的文本处理领域,谢老师做了很多工作,例如knitr、rmarkdown、blogdown、bookdown,这些工具把原本很头疼的工作一下子就简化了。他本人又是国内统计之都的发起人之一,也是统计之都网站最早的开发者。
Rstudio公司本身也很有意思,公司100多号人,分布在全美30多个城市,可以在公司官网上看到每一个工程师的GitHub,如果有时间,从Hadley Wickham的代码开始学习,估计也可以小满血一下吧。另外我挺好奇他们怎么远程协作的,国内大多数企业还停留在“你若离开我视线,我便担心失去你”的状态,对伙计总是不太放心。
除了Rstudio,R语言社区还有很多出色的开发者,印象深刻的一个人是Rcpp团队核心成员,我不记得他叫什么,总把他和寇强(也是很优秀的R语言开发者)弄混,GitHub头像上有一行字:我怎么这么穷。Rcpp现在很重要,目前最新的R工具一半都和C++脱不开关系。“我怎么这么穷”原来在华南计算中心读书,后来到美国读生物学博士,一直没毕业,没毕业的原因并不是学习不好,而是试验室里小白鼠牺牲造成的,他不毕业对R语言有些工具包的开发影响很大,因为他负责windows版本的开发,有些时候总要等他拯救完小白鼠之后才可以看到windows的版本。我后来一咬牙就转到Linux系统了,再也不等他了。其实Linux也很多坑,有时想转Mac,同事说Mac也很多坑。
有一次,有人问我,R语言这么简单,你比那些初学者有什么优势。我想确实没什么优势,我可能比他们知道更多八卦吧。