Hadley Wickham  
RStudio的首席科学家,莱斯大学的助理教授,资深R社区成员,已开发了30多个R包。因在数据处理和可视化开发工具方面的卓越贡献,获得专为统计计算而设立的约翰·钱伯斯奖。

enter image description here

Hadley(哈德利)出生在新西兰 · 汉密尔顿的一个从事数据统计的家庭。他的父亲布莱恩•韦翰是康奈尔大学动物育种方面的数据统计博士,妹妹获得了加州大学伯克利分校数据统计的博士学位。

如果数据结构方面存在神童一说的话,Hadley应该算一个。他曾自豪地讲述自己的经历:

"15岁时,我的第一份工作就是开发Microsoft Access数据库,很有趣。我当时做一些数据库文档,现在人们仍然在使用我写的数据库。”

Hadley第一次接触R语言是在新西兰奥克兰大学的统计专业课上。他认为R语言是“一门用于理解数据的编程语言。”同SQL和Python一样,R语言对于数据科学家来说,是最流行的编程语言。

和Hadley一样,R编程语言也来自新西兰。R语言成立于1993年,由奥克兰大学的统计学家Ross Ihaka和Robert Gentleman一起创建,主要用于数据分析,却也存在一些怪癖(如索引数据结构的方式、物理内存存储的方式等)。所以,其他开发语言的使用者大都认为R语言很奇怪。使用过Java、VBA和PHP之后,Hadley发现R“与众不同”。“(许多程序员)认为R语言荒谬、笨拙,我不这么认为,”他说,“我认为R非常有趣。”

到美国的爱荷华州立大学攻读博士之后,Hadley开始开发R包。用哈德利自己的话说,开发包需要涵盖“帮助人们解决问题的代码,然后必须用文档记录下这些代码,别人才可以理解怎样使用这些代码。”他创建的第一个包,作为类项目的一部分,用于生物信息学数据的可视化。虽然这个包从未公开过,这丝毫不影响他喜欢分享的态度。

2005年,他发布了reshape包,广受关注,也是R包开发的起点。这个包已经被下载了成千上万次。reshape的目的是减少聚合和操作数据过程中的“乏味和痛苦”。简化数据转化的过程看上去并不是什么难事儿,但对于数据科学家和统计学家来说,这往往是最耗时的工作。

显然,Hadley很享受reshape开发包的成功。他认为现有的方法并不完美,所以需要开发出新的包。这并不是吹嘘,他有足够的信心,“我坚信我掌握了正确的开发方法,”他再次强调,“要么更好,要么更糟。”

--------------

最新力作《R包开发》,着眼于将读者从R包的使用者晋升为R包的开发者,展示了R包开发的哲学。书中详细介绍了如何将可重用的R函数、示例数据以及文档一起打包,以便与他人分享代码、节省开发时间、组织数据分析,尽可能让工作自动化。

  • 学习R包最有用的组件,包括使用指南和单元测试
  • 利用devtools自动执行任务
  • 掌握良好编码风格的技巧,比如如何把函数组织成文件
  • 使用devtools简化开发流程
  • 发现提交包到CRAN的最佳途径

作品选读:第1章

欢迎大家在评论区提问,最终入选的提问者,将获得图灵社区送出的图灵电子书一本。最具价值性的问题,更有机会获得《R包开发》纸质版一本,共计2本。

---------------

往期活动回顾:

@程序员邹欣 访谈问题有奖征集,问题入选的获奖者有:EINDEX、穿鞋子的猫、烙饼师、Dream(微信)、袁龙飞(微信)、空军(微信)

再访《Scratch少儿趣味编程》系列图书作者阿部和广、仓本大资访谈问题有奖征集,问题入选的获奖者:大唐废猫、DearLinXi、穿鞋子的猫

《我的第一本编程书》作者平山尚访谈问题有奖征集,问题入选的获奖者有:steveguang、华元、青鸟(微信)

奇虎360数据专家傅志华访谈问题有奖征集,问题入选的获奖者有:AlexFeng、xinconan、苏文波(微信)、Zxd(微信)、xx(微信)

知名著者结城浩,访谈问题有奖征集,问题入选的获奖者有:白色风车、叫俺小破(微信)、Gnay Gnim Iel(微信)、友人A(微信)、linux_cma(微信)、唐吉可德(微信)、赵鑫鹏(微信)

《CSS揭秘》作者Lea Verou访谈问题有奖征集,问题入选的获奖者有:安道、穿鞋子的猫、CSS魔法、昵称(微信)、明烨(微信)、GingJan (微信)

《CSS揭秘》译者CSS魔法访谈问题有奖征集,问题入选的获奖者有:穿鞋子的猫、大雄兔、XYZ(微信)


更多精彩,加入图灵访谈微信!