圖靈程式設計叢書:學習R

圖靈程式設計叢書:學習R

《學習R》分為上下兩部分,旨在指導你如何使用R,並提供練習的機會。上半部分主要介紹R的技術細節和使用技巧。每章都簡要介紹了一組不同的數據類型(例如第4章介紹向量、矩陣和數組)或概念(例如第8章介紹分支和循環)。下半部分更側重實踐,展示了從輸入數據到發布結果這一標準的數據分析流程。 即使你沒有任何編程基礎,也能順利閱讀《學習R》。

基本介紹

  • 書名:圖靈程式設計叢書:學習R
  • 作者:柯頓 (Richard Cotton)
  • 類型:計算機與網際網路
  • 出版日期:2014年6月1日
  • 語種:簡體中文
  • ISBN:7115351708
  • 外文名:Learning R
  • 譯者:劉軍
  • 出版社:人民郵電出版社
  • 頁數:341頁
  • 開本:16
內容簡介,作者簡介,媒體推薦,圖書目錄,

內容簡介

本書講解如何使用R語言及其軟體環境分析數據,即使沒有編程經驗也能看懂。通過這本實用教程,你可以輕鬆掌握如何使用必要的R工具來分析數據,同時掌握相關數據類型和通用的編程概念。
本書後半部分會講到數據分析的各種實際套用,涵蓋導入數據和發布結果。另外,值得一提的是,本書每一章都會結合所講內容提供精心編制的小測試和練習題,需要編寫R代碼完成,從而鞏固所學的知識
編寫簡單的R程式,知道R語言能做什麼
使用向量、數組、列表、數據框和字元串等數據類型
掌握條件語句以及分支和循環控制語句
套用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

相關詞條

熱門詞條

聯絡我們