 
			 
				  《圖靈程序設計叢書:學習R》講解如何使用R語言及其軟件環境分析數據,即使沒有編程經驗也能看懂。通過這本實用教程,你可以輕鬆掌握如何使用必要的R工具來分析數據,同時掌握相關數據類型和通用的編程概念。
  《圖靈程序設計叢書:學習R》後半部分會講到數據分析的各種實際應用,涵蓋導入數據和發布結果。另外,值得一提的是,本書每一章都會結閤所講內容提供精心編製的小測試和練習題,需要編寫R代碼完成,從而鞏固所學的知識。
  《圖靈程序設計叢書:學習R》分為上下兩部分,旨在指導你如何使用R,並提供練習的機會。上半部分主要介紹R的技術細節和使用技巧。每章都簡要介紹瞭一組不同的數據類型(例如第4章介紹嚮量、矩陣和數組)或概念(例如第8章介紹分支和循環)。下半部分更側重實踐,展示瞭從輸入數據到發布結果這一標準的數據分析流程。
  即使你沒有任何編程基礎,也能順利閱讀《學習R》。
Richard Cotton,是一位通曉化學安全及健康的數據科學傢,開發過很多能讓非專業用戶訪問統計模型的工具。他開發瞭很多R包,如assertive(用於檢查變量的狀態)和sig(用於確保功能具有閤理的API)。他也是The Damned Liars公司的統計學顧問。
  “R圖書大傢庭迎來瞭一位清新、不落俗套、風趣幽默的新成員。閱讀本書是十足的享受,令我大開眼界。”
  ——John Verzani,紐約州立大學/斯坦頓大學
  “這本書讀起來感覺棒極瞭,示例完整清晰,內容通俗易懂,是目前市麵上介紹R核心組件優秀的圖書之一。”
  ——Rebecca Smith,TDX公司分析經理
  “本書正是你夢寐以求的R圖書!不要隻看封麵,直接翻開書看內容吧。”
  ——JD Long,CerebralMastication.com資深博主
譯者序 XII
前言 XIII
第一部分 R語言
第1章 簡介 2
1.1 本章目標 2
1.2 R是什麼 2
1.3 安裝R 3
1.4 選擇一個IDE 4
1.4.1 Emacs+ESS 4
1.4.2 Eclipse/Architect 4
1.4.3 RStudio 5
1.4.4 Revolution-R 5
1.4.5 Live-R 5
1.4.6 其他IDE和編輯器 6
1.5 你的第一個程序 6
1.6 如何從R中獲得幫助 7
1.7 安裝其他相關軟件 9
1.8 小結 9
1.9 知識測試:問題 10
1.10 知識測試:練習 10
第2章 科學計算器 11
2.1 本章目標 11
2.2 數學運算符和嚮量 11
2.3 變量賦值 15
2.4 特殊數字 17
2.5 邏輯嚮量 18
2.6 小結 20
2.7 知識測試:問題 20
2.8 知識測試:練習 20
第3章 檢查變量和工作區 22
3.1 本章目標 22
3.2 類 22
3.3 不同類型的數字 23
3.4 其他通用類 24
3.5 檢查和更改類 26
3.6 檢查變量 29
3.7 工作區 32
3.8 小結 33
3.9 知識測試:問題 33
3.10 知識測試:練習 34
第4章  嚮量、矩陣和數組 35
4.1 本章目標 35
4.2 嚮量 35
4.2.1 序列 37
4.2.2 長度 38
4.2.3 命名 39
4.2.4 索引嚮量 39
4.2.5 嚮量循環和重復 41
4.3 矩陣和數組 43
4.3.1 創建數組和矩陣 43
4.3.2 行、列和維度 45
4.3.3 行名、列名和維度名 46
4.3.4 索引數組 47
4.3.5 閤並矩陣 47
4.3.6 數組算術 48
4.4 小結 50
4.5 知識測試:問題 50
4.6 知識測試:練習 51
第5章 列錶和數據框 52
5.1 本章目標 52
5.2 列錶 52
5.2.1 創建列錶 52
5.2.2 原子變量和遞歸變量 54
5.2.3 列錶的維度和算術運算 55
5.2.4 索引列錶 56
5.2.5 嚮量和列錶之間的轉換 58
5.2.6 組閤列錶 60
5.3 NULL 61
5.4 成對列錶 64
5.5 數據框 65
5.5.1 創建數據框 65
5.5.2 索引數據框 68
5.5.3 基本數據框操作 69
5.6 小結 71
5.7 知識測試:問題 71
5.8 知識測試:練習 72
第6章 環境和函數 73
6.1 本章目標 73
6.2 環境 73
6.3 函數 76
6.3.1 創建和調用函數 76
6.3.2 嚮其他函數傳遞和接收函數 80
6.3.3 變量的作用域 82
6.4 小結 84
6.5 知識測試:問題 84
6.6 知識測試:練習 84
第7章 字符串和因子 86
7.1 本章目標 86
7.2 字符串 86
7.2.1 創建和打印字符串 87
7.2.2 格式化數字 88
7.2.3 特殊字符 90
7.2.4 更改大小寫 91
7.2.5 截取字符串 91
7.2.6 分割字符串 92
7.2.7 文件路徑 93
7.3 因子 94
7.3.1 創建因子 94
7.3.2 更改因子水平 96
7.3.3 去掉因子水平 96
7.3.4 有序因子 97
7.3.5 將連續變量轉換為類彆 98
7.3.6 將類彆變量轉換為連續變量 99
7.3.7 生成因子水平 100
7.3.8 閤並因子 100
7.4 小結 101
7.5 知識測試:問題 101
7.6 知識測試:練習 101
第8章 流程控製和循環 103
8.1 本章目標 103
8.2 流程控製 103
8.2.1 if和else 103
8.2.2 矢量化的if 105
8.2.3 多個分支 106
8.3 循環 108
8.3.1 重復循環 108
8.3.2 while循環 110
8.3.3 for循環 111
8.4 小結 113
8.5 知識測試:問題 113
8.6 知識測試:練習 113
第9章 高級循環 115
9.1 本章目標 115
9.2 replication 115
9.3 遍曆列錶 116
9.4 遍曆數組 122
9.5 多個輸入的應用函數 124
9.6 拆分-應用-閤並(Split-Apply-Combine) 126
9.7 plyr包 127
9.8 小結 130
9.9 知識測驗:問題 130
9.10 知識測試:練習 131
第10章 包 133
10.1 本章目標 133
10.2 加載包 133
10.2.1 搜索路徑 135
10.2.2 庫和已安裝的包 136
10.3 安裝包 137
10.4 維護包 139
10.5 小結 139
10.6 知識測試:問題 140
10.7 知識測試:練習 140
第11章 日期和時間 141
11.1 本章目標 141
11.2 日期和時間類 141
11.2.1 POSIX日期和時間 142
11.2.2 Date類 143
11.2.3 其他日期類 144
11.3 日期與字符串的相互轉換 144
11.3.1 解析日期 144
11.3.2 格式化日期 145
11.4 時區 145
11.5 日期和時間的算術運算 147
11.6 lubridate 149
11.7 小結 153
11.8 知識測試:問題 153
11.9 知識測試:練習 153
第二部分 數據分析工作流
第12章 獲取數據 156
12.1 本章目標 156
12.2 內置的數據集 156
12.3 讀取文本文件 157
12.3.1 CSV和製錶符分隔(Tab-Delimited)文件 157
12.3.2 非結構化文本文件 161
12.3.3 XML和HTML文件 161
12.3.4 JSON和YAML文件 163
12.4 讀取二進製文件 165
12.4.1 讀取Excel文件 165
12.4.2 讀取SAS、Stata、SPSS和MATLAB文件 167
12.4.3 讀取其他文件類型 167
12.5 Web數據 168
12.5.1 擁有API的網站 168
12.5.2 抓取網頁 169
12.6 訪問數據庫 171
12.7 小結 174
12.8 知識測試:問題 174
12.9 知識測試:練習 174
第13章 數據清理和轉換 175
13.1 本章目標 175
13.2 清理字符串 175
13.3 操作數據框 180
13.3.1 添加和替換列 180
13.3.2 處理缺失值 181
13.3.3 在寬和長錶格之間進行轉換 182
13.3.4 使用SQL 183
13.4 排序 184
13.5 函數式編程 185
13.6 小結 188
13.7 知識測試:問題 188
13.8 知識測試:練習 189
第14章 探索和可視化 190
14.1 本章目標 190
14.2 匯總統計 190
14.3 三種繪圖係統 194
14.4 散點圖 195
14.4.1 第一種方法:base繪圖法 195
14.4.2 第二種方法:lattice圖形係統 200
14.4.3 第三種方法:ggplot2圖形係統 207
14.5 綫圖 212
14.6 直方圖 220
14.7 箱綫圖 232
14.8 條形圖 236
14.9 其他的繪圖包和係統 242
14.10 小結 243
14.11 知識測試:問題 243
14.12 知識測試:練習 244
第15章 分布與建模 245
15.1 本章目標 245
15.2 隨機數 246
15.2.1 示例函數 246
15.2.2 從分布中抽樣 247
15.3 分布 248
15.4 公式 248
15.5 第一個模型:綫性迴歸 250
15.5.1 比較和更新模型 252
15.5.2 繪圖和模型檢查 257
15.6 其他模型類型 261
15.7 小結 262
15.8 知識測試:問題 263
15.9 知識測試:練習 263
第16章 程序設計 264
16.1 本章目標 264
16.2 信息、警告和錯誤 264
16.3 錯誤處理 267
16.4 調試 270
16.5 測試 273
16.5.1 RUnit 273
16.5.2 testthat 276
16.6 魔法 277
16.6.1 將字符串轉換成代碼 277
16.6.2 把代碼轉換成字符串 279
16.7 麵嚮對象編程 280
16.7.1 S3類 281
16.7.2 引用類 282
16.8 小結 287
16.9 知識測試:問題 287
16.10 知識測試:練習 288
第17章 製作程序包 289
17.1 本章目標 289
17.2 為什麼要創建軟件包 289
17.3 先決條件 289
17.4 包目錄結構 290
17.5 你的第一個包 291
17.6 為包撰寫文檔 293
17.7 檢查和構建包 296
17.8 包的維護 297
17.9 小結 298
17.10 知識測試:問題 299
17.11 知識測試:練習 299
第三部分 附錄
附錄A 變量的屬性 302
附錄B R中其他可做的事情 305
附錄C 問題答案 307
附錄D 練習答案 315
參考文獻 339
關於封麵 341
  R 是一種編程語言,也是用於數據分析和統計的軟件環境。它是一個GNU 項目,這意味著它是自由的開源軟件。它正在以指數級的速度不斷成長——普遍認為,它的用戶人數可能超過瞭100 萬,它有4000 多個由開發社區貢獻的附件包,而且每年以約25% 的速度增加。在本書創作之時,它在Tiobe 編程社區指數(Tiobe Programming Community Index)的開發語言流行榜上已排至第24 位,大緻與SAS 和MATLAB 看齊。
  R 廣泛地應用在每一個需要統計或數據分析的領域,涵蓋瞭金融、市場營銷、醫藥、基因組學、流行病學、社會科學、教學以及許多其他較小的領域。
  關於本書
  因為R 主要用於統計分析,所以很多關於R 的書都在指導你如何計算統計或模型數據集。然而,這些書忽視瞭數據分析應用的實際情況。事實上,除非你做的是尖端研究,否則你所用到的統計技術往往隻需用於常規任務,而且你的模型可能也不大。完整的數據分析流程更像是這樣:
  (1) 取得一些數據;
  (2) 清理數據;
  (3) 探索和可視化數據;
  (4) 數據建模並做齣預測;
  (5) 展示或發布你的結果。
  當然,每個階段都可能碰到一些有趣的問題,以至於你需要更多的數據,或者要以不同的方式處理現有數據,這會使你的工作倒退一步。工作流是可以迭代的,但每個步驟都不可或缺。
  本書的第一部分會從頭開始教你R——你不需要任何編程語言的經驗。實際上,雖然完全沒有編程經驗也無妨,但有一些基本的編程知識會更好。例如,本書介紹瞭如何注釋代碼以及編寫for 循環,但沒有作更詳細的解釋。因此,如果你想要找本真正的編程入門課本,那麼Jason R。 Briggs 寫的Python for Kids 非常閤適!
  本書的第二部分將展示R 語言的完整數據分析流程,這裏需要一些基本的統計知識。例如,你應該瞭解平均值和標準差等術語,以及什麼是條形圖(bar chart)。
  本書最後將介紹R 的一些高級主題,例如麵嚮對象編程和包的創建。Garrett Grolem 的Data Analysis with R 將會在本書的基礎上深入探討數據分析流程。
我一直在尋找一本能夠真正幫助我入門R語言的書籍,市麵上確實不少,但很多要麼過於理論化,要麼隻是簡單羅列函數,讓人看瞭之後還是雲裏霧裏。直到我翻開瞭這本《圖靈程序設計叢書:學習R》,纔感覺眼前豁然開朗。書的開篇並沒有直接拋齣復雜的概念,而是從安裝R和RStudio這樣最基礎、最容易讓人望而卻步的環節開始,一步步引導。我尤其喜歡它在介紹變量、數據類型時,不僅僅是給齣定義,還配上瞭大量形象的比喻和直觀的代碼示例,讓我這個之前對編程幾乎零基礎的人也能輕鬆理解。更讓我驚喜的是,書中對於數據處理的講解,例如如何讀取不同格式的數據、如何進行數據清洗和轉換,都寫得非常細緻,每一個步驟都拆解得非常清晰,並且強調瞭實際應用中的注意事項。我之前嘗試過其他一些教程,總覺得它們跳躍性太強,但這本書的邏輯性很強,層層遞進,讓人感覺每學到一個新概念,都能立刻在後續的例子中得到印證和鞏固,學習的動力也因此增強瞭不少。
評分這是一本讓我對數據分析産生瞭濃厚興趣的入門讀物。在接觸這本書之前,我對R語言的印象僅停留在“統計學傢的工具”,認為它枯燥且難以掌握。然而,這本書以一種非常友好的方式,將R語言的強大功能展現在我麵前。它不僅僅是教授語法,更重要的是教會瞭我如何思考數據,如何運用R來解決實際問題。比如,書中在講解可視化之前,花瞭大量篇幅介紹數據探索性分析(EDA),強調瞭理解數據特徵、識彆異常值、發現潛在模式的重要性,這讓我明白瞭可視化並非空中樓閣,而是建立在對數據深入理解基礎上的。而且,它在介紹繪圖函數時,並沒有一股腦地羅列,而是根據不同的繪圖目的,循序漸進地引入`ggplot2`這樣的強大包,並且對圖錶的元素、美化選項進行瞭詳細的解析,讓我能畫齣既美觀又信息量豐富的圖錶。每一次完成書中的練習,看到自己親手將雜亂的數據轉化為清晰的洞察,都讓我充滿瞭成就感,也讓我對數據分析的世界有瞭更深的嚮往。
評分我一直認為,一本好的技術書籍,除瞭傳授知識,更應該激發讀者的學習熱情。而這本書無疑做到瞭這一點。從一開始的動機引入,到後來的每一個案例,都充滿瞭趣味性和實用性。它沒有高高在上地講授理論,而是把R語言的強大功能置於解決實際問題的框架下,讓我看到瞭學習R的價值和可能性。書中在介紹各種統計分析方法時,都會緊密結閤實際數據,讓我們能夠通過代碼直接驗證這些方法的有效性,並且理解它們是如何被應用於理解數據的。我特彆喜歡書中關於模型構建和評估的部分,作者講解得非常透徹,不僅僅是給齣公式,更重要的是解釋瞭模型背後的邏輯,以及如何根據實際情況選擇閤適的模型,並對其進行評價。這種循序漸進、案例豐富的學習方式,讓我感覺學習R不再是一件枯燥的任務,而是一場充滿探索和發現的旅程。
評分坦白說,我不是一個典型的“技術書”愛好者,很多技術書籍在我看來都像是在讀天書。但是,《圖靈程序設計叢書:學習R》打破瞭我的固有印象。它的語言風格非常親切,就像一個經驗豐富的老師在旁邊指導你一樣。在講解一些相對抽象的概念時,比如函數式編程的思想,作者會用一些生動的比喻,甚至是一些生活中的例子來輔助說明,讓我這種不擅長抽象思維的人也能理解。而且,書中對於代碼的講解,不僅僅是“這樣寫”,更會解釋“為什麼這樣寫”,以及“這樣做有什麼好處”。這種深入的解釋,讓我能夠舉一反三,而不是死記硬背。每次遇到難點,我都能在這本書中找到清晰的解釋和有用的提示,讓我能夠剋服睏難,繼續前進,而不是半途而廢。
評分我之前在學習某種編程語言時,經常會遇到一個睏境:書本上的例子都很完美,但一旦用到自己的實際數據,就各種報錯,無從下手。這本《學習R》在這方麵做得非常齣色。它在講解過程中,經常會穿插一些“真實世界”的案例,比如處理來自真實調查的問捲數據,或者分析公開的經濟指標。這些案例往往包含瞭一些不規範、不完整的數據,作者並沒有迴避這些問題,而是手把手地教我們如何去發現、分析和處理這些“髒”數據。我印象特彆深刻的是關於缺失值處理的部分,書中提供瞭多種策略,並且詳細說明瞭每種策略適用的場景和可能帶來的影響,這讓我明白瞭編程不僅僅是寫代碼,更是一種解決實際問題的藝術。這種實戰性極強的教學方式,讓我感覺自己學的知識是有用的,能夠真正應用到我的工作中去,而不是紙上談兵。
評分學習中。彆人推薦的。
評分該書從中間摺斷,應該屬於運送時受過重力撞擊
評分非常好,正是我想要的。
評分很棒
評分圖書質量不錯
評分質量不錯,相對專業。
評分不可錯過
評分很有用的書
評分質量不錯,相對專業。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有