官术网_书友最值得收藏!

要想認真理解數(shù)據(jù),學習編程至關重要。毋庸置疑,數(shù)據(jù)科學工作必須在計算機上完成,但你可以有兩種選擇:學會使用具有圖形用戶界面(GUI)的統(tǒng)計軟件,或者學會一門編程語言。Garrett和我都深信,對于每天跟數(shù)據(jù)打交道的人來說,編程是一項必需的技能。圖形用戶界面簡單易用,但也有著根本的局限性,主要體現(xiàn)在它束縛了好的數(shù)據(jù)分析所應具備的以下三個屬性。

· 可再現(xiàn)性

可再現(xiàn)性指能夠完全再現(xiàn)之前某個分析結(jié)果的能力,這是優(yōu)秀科學的重要特征。

· 自動化

當數(shù)據(jù)發(fā)生改變時(往往經(jīng)常如此),能夠快速更新分析結(jié)果的能力。

· 溝通

從形式上看,代碼僅僅是一段文本,十分利于溝通。對于一門編程語言的學習者來說,代碼的文本特征極大地降低了學習的門檻:只要有不懂的問題,就可以把代碼放到郵件列表中提問,或者放到Google的搜索框中搜索,或者上傳到Stack Overflow找高手解惑,無論哪種途徑都能夠得到解答。

不要對“編程”二字望而生畏!只要有合適的動力,每個人都可以學好編程,而本書的目的就是充分調(diào)動你學習編程的積極性。這并不是一本編程參考書,它圍繞著三個實際的編程挑戰(zhàn)展開。如果能夠順利地掌握應對這三個挑戰(zhàn)的技術,你將掌握關于R編程的基本知識,甚至還能學習一些中級技能,比如向量化編程、作用域和S3方法等。動手解決實際問題對于學習一門編程語言來說十分重要。學習編程不在于能夠死記硬背多少函數(shù),而在于學習函數(shù)并將之用于解決實際問題。總而言之,編程需要在實踐中學習,而不是靠死記硬背。

學習編程的道路布滿荊棘,你會不時地因為棘手的問題而感到沮喪。與學習其他語言一樣,熟練掌握程序語言并非一朝一夕之事。在學習編程的過程中感到沮喪是難免的,它聽起來十分消極,但實際上對于學習本身來說是有所裨益的。沮喪的感覺是由大腦的懶惰造成的,它在提示你放棄做這么難的事情,去找些容易或有趣的事情來做。有過健身經(jīng)歷的人都知道,如果想更加健美,身體越是抗拒,你就越要鞭策自己去努力鍛煉。學習編程也一樣,大腦越是感到沮喪,你越應該鞭策自己去戰(zhàn)勝沮喪。認識到這一點之后,在學習編程的過程中,如果遇到了令人沮喪的難題,要樂觀積極地對待這樣的感覺:因為你是在挑戰(zhàn)自我。如果每天都能挑戰(zhàn)自己一點點,可以預見,不用多久你就會成為一名信心滿滿的程序員。

本書淺顯易懂,娓娓道來,又十分深入與實用。如果你想跟我或者Garrett學習R編程卻沒有機會與我們當面交流,這本書是不二之選。讀這本書于我而言是一種享受,希望你也有同感。

——Hadley Wickham RStudio首席科學家

順便說一句,Garrett完全沒有介紹自己的成果,其實有點過謙了。他寫的R包lubridate是處理時間類數(shù)據(jù)的必備神器,不信大家可以試一試。

主站蜘蛛池模板: 南岸区| 新余市| 抚州市| 万山特区| 阿勒泰市| 株洲县| 石渠县| 新源县| 荔浦县| 武定县| 安宁市| 荣成市| 邻水| 玉田县| 冷水江市| 枝江市| 偃师市| 吴旗县| 大理市| 宝清县| 长沙县| 河源市| 定安县| 资源县| 沙河市| 平乐县| 大方县| 惠水县| 新乡县| 泾阳县| 上蔡县| 双鸭山市| 镇雄县| 土默特左旗| 茂名市| 石河子市| 武平县| 冕宁县| 巴南区| 清水县| 武强县|