Hadley Wickham:一個改變了R的人

jopen 9年前發布 | 10K 次閱讀 R語言
 

【COS編輯部按】本文得到了原英文作者的授權同意,翻譯:馮俊晨、王小寧 審校:邱怡軒 朱雪寧   編輯:王小寧

Hadley Wickham 是 RStudio 的首席科學家以及 Rice University 統計系的助理教授。他是著名圖形可視化軟件包  ggplot2 的開發者,以及其他許多被廣泛使用的軟件包的作者,代表作品如  plyrreshape2 等。本文取自 PRICEONOMICS .

Hadley Wickham:一個改變了R的人

通過數據從根本上了解世界真的是一件非常,非常酷的事情。

                            ~ 多產的 R 開發者Hadley Wickham

***

如果你不花很多時間在開源統計編程語言R中寫代碼的話,他的名字你可能并不熟悉——但統計學家Hadley Wickham用他自己的話說是那種“以書呆子出名”的人。他是那種在統計會議上人們排隊要和他拍照,問他要簽名的人,并且人們對他充滿了尊敬。他也承認 “這種現象實在太奇特了。因為寫R程序而出名?這太瘋狂了。”

R 是一種為數據分析而設計的編程語言,Wickham正是因為成為了卓越的R包開發者而贏得了他的名聲。R包是用于簡化諸如整合和繪制數據等常見任務代碼的編程工具。Wickham已經幫助了數以萬計的人,使他們的工作變得更有效率,這使得大家都 很感激他 ,甚至為之而 欣喜若狂 。他開發的R包的用戶包括眾科技巨頭,例如Google,非死book和推ter,新聞巨擘諸如 紐約時報 和  FiveThirtyEight ,政府機構諸如食品與藥品管理局(FDA)以及美國禁毒署(DEA)等。

誠然,他是書呆子中的巨人。

***

Wickham出生在新西蘭漢密爾頓的一個統計學世家。他父親 Brian Wickham 在康奈爾大學獲得動物繁殖專業的博士,該學科大量使用統計學;而他 姐姐 則擁有加州大學伯克利分校的統計學博士學位。

如果這個世界上真有數據結構神童,那么Wickham可能就是其中之一。談起他早年的經歷,他頗為自豪:

我的第一份工作,那時我才 15 歲,就是開發一個微軟 Access 數據庫。我覺得這事兒挺有意思的。我為數據庫編寫了文檔,他們至今都在用這個數據庫。

從第一份工作開始,Wickham就開始反思存儲和操縱數據是否存在一種更好的辦法。“對于找到更好的解決之道,我一直頗為自信”,他解釋說,“并且這個辦法可以造福他人。”雖然彼時的他依然在懵懂中,但正在那時他“內化”了 第三范式 (Third Normal Form)的概念,這將在他未來的工作中扮演重要的角色。第三范式的本質是一種降低數據冗余且保證數據一致性的數據構架方法。Wickham把這種數據叫做“干凈”(tidy)數據,而他的工具推廣了并依賴于這種數據結構。

Hadley Wickham:一個改變了R的人

R的標志,該語言的革命性演化部分歸功于Hadley Wickham

Wickham第一次接觸R語言是在新西蘭奧克蘭大學攻讀統計學本科學位時。他將其描述為“一種理解數據的程序語言”。比肩SQL和Python,R是最受數據科學家歡迎的語言之一。

和Wickham一樣,這個將被他革新的語言也來自新西蘭。1993年,奧克蘭大學的統計學家Ross Ihaka和Robert Gentleman創制了R。由于該語言是為數據分析量身定制,并且某些地方它與眾不同(例如數據結構的索引方式以及數據強制存儲于內存中),因此熟悉其 他語言的程序員往往覺得R非常奇怪。在編寫過Java,VBA和PHP后,Wickham發現R截然不同:“(許多程序員)接觸R會后覺得它不倫不類,但 我卻不這么想,我覺得它可有意思了。”

從在愛荷華州立大學攻讀博士學位起,Wickham就開始開發R工具包。用Wickham的話說,編寫一個工具包是“編寫一些幫助人們解決問題的 代碼,然后編寫代碼文檔來幫助人們理解這玩意該怎么用”。作為課程項目的一部分,他編寫的第一個工具包旨在實現生化信息的可視化。盡管這個包從未面世,他 卻堅定了分享個人工具的念頭。

在2005年,Wickham發布了reshape工具包,這是他一連串“網紅”工具包的開始。自發布以來,這個工具包已經被下載了幾十萬次。 reshape希望讓數據的聚合和操縱變得不那么“枯燥和煩人”。對于非程序員而言,簡化數據變形過程可能不是什么事兒,但是對于數據科學家和統計學家而 言,這往往是他們工作中最費時的事兒。

Wickham顯然被reshape的成功所鼓舞。他開發這個工具包正是因為他認為他可以比前人做的更好。盡管不愛自夸,他卻絕不缺乏自信。“我堅信我知道解決問題的正確方法”,他反復強調,“這種念頭是好是壞就不知道了。”

***

在reshape和其他幾個工具包大受歡迎的同時,Wickham對于統計學的憧憬卻逐漸幻滅。在攻讀PhD的過程中,他注意到“學校里教的東西 和人們理解數據真正需要的東西根本不沾邊”。與那些專注于高深莫測的中心極限定理變體的統計學家不同,Wickham致力于讓普羅大眾能夠更容易地上手數 據分析。他闡述說:

“肯定會有象牙塔的統計學家否認我所做的工作是統計學,但是我認為他們錯了。我所做的工作正是回歸到統計學的根源。存在數據科學這一學科這件事本 身就說明正統統計學存在巨大缺陷。對我而言,這涉及到什么是統計:統計即是通過建模和可視化從數據中獲得洞見。數據清洗和操縱是個臟活累活,而正統統計學 拍拍屁股說這不歸我們管。”

在幻滅之旅上,Wickham開發了ggplot2這個工具包。迄今為止,該工具包已經被下載了幾百萬次,它不僅是Wickham最成功的作品,也改變了許多人對于數據可視化的觀念。ggplot2的巨大成功也促使他離開學術界去 Rstudio 擔任首席科學家,從而專心致志地改進R。(Rstudio是R語言最受歡迎的集成開發環境的盈利開發機構。)

Hadley Wickham:一個改變了R的人

Hadley Wickham 放了一個用 ggplot2 畫的圖片。 圖片David Kahle Garrett Grolemund 提供

ggplot2 包是以統計學家Leland Wilkinson 的“圖形語法”為基礎,以一種數據可視化的形式開發的。Wickham把 ggplot2 和圖形語法看成是“不作為一系列機械操作的可視化思維方式(如從這里到那里畫一條線,在這里畫一點,把長方形涂上顏色)而是以可視化的思維將數據映射到你 能看到的事物上。”

在圖形語法背后的概念是相當抽象的。最大的想法是圖是由“幾何對象”(我們在圖表上看到的一個點或柱子的圖形元素)和“圖形屬性”(關于其中幾何形狀被放 置的方向)組成的。這聽起來可能不是革命性的,但由Wickham實現的這個概念使得成千上萬的人可以更加容易地畫圖。問答網站 Stack Overflow 上已經有近9000個問題標記為ggplot2,甚至說 ggplot2 在R中讓作圖變得更“好玩”。用 ggplot2 畫的圖已經出現在了 NatureFiveThirtyEight紐約時報 上。

Hadley Wickham:一個改變了R的人

Hadley Wickham 手里拿著一本關于他的可視化軟件包 ggplot2 的中文譯本 ; 圖片來源于 statr

除了開發ggplot2和reshape包外,Wickham也設計了一些其他廣受歡迎的包來為數據科學家解決其他的重要問題。想用字(字符串)的形式很容易地操縱數據么?想從網上爬取數據么?需要輕松地編寫自己的包么?Wickham已經幫你解決了。

Quora (一個問答SNS網站,譯者注)上,一個R 用戶問道:“Hadley Wickham為什么能對R做出這么大的貢獻,尤其是在R包上?我依然不能詳細地算出Hadley到底做出了多少。他做出這么多東西看起來是不可能 的……”R 社區的活躍會員Eduardo Arino de la Rubia說所有成功的編程語言需要像哈德利這樣的“ 名人 ”。他把哈德利與David Heinemeier Hansson(Web應用程序框架的Ruby on Rails的創建者)和Tatsuhiko Miyagawa(編程語言Perl 的重要開發者)進行了比較。

下面的圖標展示了Hadley的超過2000次下載的17個包(有時候它們被戲稱為“ Hadley宇宙 ”)的發布日期和下載的數量。這些下載數字少得可憐,因為它們只反映了從2012年年底其中一個流行的下載來源的數據。并且,是的,這個圖是用Hadley的包( ggvis )繪制的。

Hadley Wickham:一個改變了R的人

Dan Kopf, Priceonomics; 數據來源: cranlogs

那么為什么哈德利創造了這一切?R是免費下載的,所有的包也是免費的,所以金錢的激勵是次要的。簡單地說,當一個問題比它應有的狀態更難以解決時,Wickham就會耿耿于懷。雖然“其他大多數人都可以接受生活多艱這一事實”,但是Wickham卻做不到。

他說:“讓我成功的原因之一是我對挫折是極其敏感的。”

這種敏感性為他贏得了一個“奇特的惡名”。

在大多數情況下,Wickham是不起眼的,但是當他在R聚會或是統計數據發布會上,他就會變成一個搖滾明星。他說:“我能看到我的名譽達到了一 種令人不安的水平。”他希望有人會寫一本關于“如何在一個非常特殊的領域做一個名人”的書,并且他擔心當人們滔滔不絕地談論他時不知道該如何正確行事。

雖然現在習慣了“惡名”,但他仍然會因為人們使用他創造的工具而感到興奮。他樂于在 “非死book,Google,推ter,Tumblr……”中查看有多少人在使用他的工具。他說,只有在舊金山,人們在街上認出他的幾率會更 大一些。他還提到最近對新聞媒體FiveThirtyEight的訪問讓他很高興,他覺得了解他人如何使用自己的工具是很酷的一件事(他們使用一個高度定 制的ggplot2來繪制圖形)。

***

最重要的是,Wickham樂于給那些喜歡擺弄數據的人提供力量和支持。他解釋說:“通過數據從根本上了解世界真的是一件非常,非常酷的事情。讓 我感到興奮的分析不是谷歌爬取了1 TB的網絡廣告數據來優化收入, [而是]那些有著絕對熱情的生物學家,現在他們可以使用,并理解R了。”

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!