R 語言編程藝術 (The Art of R Programming: A Tour of Statistical Software Design) R语言编程艺术
麥特洛夫 (Norman Matloff)
- 出版商: 機械工業
- 出版日期: 2013-05-01
- 定價: $414
- 售價: 8.5 折 $352
- 語言: 簡體中文
- 頁數: 303
- 裝訂: 平裝
- ISBN: 7111423143
- ISBN-13: 9787111423140
-
相關分類:
R 語言
- 此書翻譯自: The Art of R Programming: A Tour of Statistical Software Design (Paperback)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
實戰封包分析-使用 Wireshark (Practical Packet Analysis: Using Wireshark to Solve Real-World Network Problems, 2/e)$450$356 -
Hadoop 技術手冊, 3/e (Hadoop: The Definitive Guide, 3/e)$880$695 -
$179R 語言與商業智能 -
機器學習實戰$414$393 -
抗藍光眼鏡 BOOK-低頭族‧手機族‧平板族‧電腦族 防 3C 害眼必備!$499$449 -
$280SEO 搜索引擎實戰詳解 -
超圖解 Arduino 互動設計入門, 2/e$680$578 -
從車庫的舊 PC 到百萬台伺服器-巨型網站成長從無到無限大,技術架構大揭祕-最棒的「秒殺」網站設計實例$480$408 -
$336數據挖掘:R 語言實戰-大數據時代的 R 語言 -
$294R語言與數據挖掘最佳實踐和經典案例 -
$534R 數據可視化手冊 (R Graphics Cookbook) -
$505R語言核心技術手冊(第2版) -
利用R語言打通大數據的經脈$490$417 -
精實開發與看板方法$550$435 -
成為卓越程式設計師的 38 項必修法則 (Becoming a Better Programmer: A Handbook for People Who Care About Code)$680$537 -
$297R語言實戰, 2/e (R in Action: Data Analysis and Graphics with R, 2/e) -
$230商業區塊鏈:開啟加密經濟新時代 -
$403統計學習導論 -- 基於 R應用 -
Google Analytics 終極實戰寶典$690$545 -
$327Julia 數據科學應用 -
R語言:量表編製、統計分析與試題反應理論$580$522 -
$301深度學習:R語言實踐指南 (Introduction to Deep Learning Using R: A Step-by-Step Guide to Learning and Implementing Deep Learning Models Using R) -
$354神經網絡:R語言實現 -
$602機器學習實戰:使用 R、tidyverse 和 mlr -
$403深度學習(R語言版)
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
<內容簡介>
譯者序
前 言
致 謝
第1章 快速入門 1
1.1 怎樣運行R 1
1.1.1 交互模式 1
1.1.2 批處理模式 2
1.2 第一個R會話 3
1.3 函數入門 5
1.3.1 變量的作用域 7
1.3.2 默認參數 8
1.4 R語言中一些重要的數據結構 8
1.4.1 向量,R語言中的戰鬥機 8
1.4.2 字符串 9
1.4.3 矩陣 9
1.4.4 列表 10
1.4.5 數據框 12
1.4.6 類 12
1.5 擴展案例:考試成績的回歸分析 13
1.6 啟動和關閉R 16
1.7 獲取幫助 17
1.7.1 help()函數 18
1.7.2 example()函數 18
1.7.3 如果你不太清楚要查找什麼 19
1.7.4 其他主題的幫助 20
1.7.5 批處理模式的幫助 21
1.7.6 因特網資源 21
第2章 向量 22
2.1 標量、向量、數組與矩陣 22
2.1.1 添加或刪除向量元素 22
2.1.2 獲取向量長度 23
2.1.3 作為向量的矩陣和數組 24
2.2 聲明 24
2.3 循環補齊 25
2.4 常用的向量運算 26
2.4.1 向量運算和邏輯運算 26
2.4.2 向量索引 27
2.4.3 用:運算符創建向量 28
2.4.4 使用seq()創建向量 28
2.4.5 使用rep()重複向量常數 29
2.5 使用all()和any() 30
2.5.1 擴展案例:尋找連續出現1的遊程 30
2.5.2 擴展案例:預測離散值時間序列 31
2.6 向量化運算符 34
2.6.1 向量輸入,向量輸出 34
2.6.2 向量輸入,矩陣輸出 36
2.7 NA與NULL值 37
2.7.1 NA的使用 37
2.7.2 NULL的使用 37
2.8 篩選 38
2.8.1 生成篩選索引 38
2.8.2 使用subset()函數篩選 40
2.8.3 選擇函數which() 40
2.9 向量化的ifelse()函數 41
2.9.1 擴展案例:度量相關性 42
2.9.2 擴展案例:對鮑魚數據集重新編碼 44
2.10 測試向量相等 46
2.11 向量元素的名稱 47
2.12 關於c()的更多內容 48
第3章 矩陣和數組 49
3.1 創建矩陣 49
3.2 一般矩陣運算 50
3.2.1 線性代數運算 50
3.2.2 矩陣索引 51
3.2.3 擴展案例:圖像操作 52
3.2.4 矩陣元素篩選 55
3.2.5 擴展案例:生成協方差矩陣 57
3.3 對矩陣的行和列調用函數 58
3.3.1 使用apply()函數 58
3.3.2 擴展案例:尋找異常值 60
3.4 增加或刪除矩陣的行或列 61
3.4.1 改變矩陣的大小 61
3.4.2 擴展案例:找到圖中距離最近的一對端點 63
3.5 向量與矩陣的差異 65
3.6 避免意外降維 66
3.7 矩陣的行和列的命名問題 68
3.8 高維數組 68
第4章 列表 71
4.1 創建列表 71
4.2 列表的常規操作 72
4.2.1 列表索引 72
4.2.2 增加或刪除列表元素 73
4.2.3 獲取列表長度 75
4.2.4 擴展案例:文本詞匯索引 75
4.3 訪問列表元素和值 78
4.4 在列表上使用apply系列函數 79
4.4.1 lapply()和sapply()的使用 79
4.4.2 擴展案例:文本詞匯索引(續) 80
4.4.3 擴展案例:鮑魚數據 82
4.5 遞歸型列表 83
第5章 數據框 85
5.1 創建數據框 85
5.1.1 訪問數據框 85
5.1.2 擴展案例:考試成績的回歸分析(續) 86
5.2 其他矩陣式操作 87
5.2.1 提取子數據框 87
5.2.2 缺失值的處理 88
5.2.3 使用rbind()和cbind()等函數 89
5.2.4 使用apply() 90
5.2.5 擴展案例:工資研究 90
5.3 合併數據框 92
5.4 應用於數據框的函數 95
5.4.1 在數據框上應用lapply()和sapply()函數 95
5.4.2 擴展案例:應用Logistic模型 95
5.4.3 擴展案例:學習中文方言的輔助工具 96
第6章 因子和表 102
6.1 因子與水平 102
6.2 因子的常用函數 103
6.2.1 tapply函數 103
6.2.2 split()函數 105
6.2.3 by()函數 106
6.3 表的操作 107
6.3.1 表中有關矩陣和類似數組的操作 109
6.3.2 擴展案例: 提取子表 111
6.3.3 擴展案例:在表中尋找頻數最大的單元格 113
6.4 其他與因子和表有關的函數 114
6.4.1 aggregate()函數 115
6.4.2 cut()函數 115
第7章 R語言編程結構 116
7.1 控制語句 116
7.1.1 循環 116
7.1.2 對非向量集合的循環 119
7.1.3 if-else結構 120
7.2 算術和邏輯運算符及數值 121
7.3 參數的默認值 122
7.4 返回值 123
7.4.1 決定是否顯式調用return () 124
7.4.2 返回複雜對象 124
7.5 函數都是對象 124
7.6 環境和變量作用域的問題 127
7.6.1 頂層環境 127
7.6.2 變量作用域的層次 128
7.6.3 關於ls()的進一步討論 131
7.6.4 函數(幾乎)沒有副作用 131
7.6.5 擴展案例:顯示調用框的函數 132
7.7 R語言中沒有指針 134
7.8 向上級層次進行寫操作 136
7.8.1 利用超賦值運算符對非局部變量進行寫操作 136
7.8.2 用assign()函數對非局部變量進行寫操作 137
7.8.3 擴展案例:用R語言實現離散事件模擬 138
7.8.4 什麼時候使用全局變量 145
7.8.5 閉包 147
7.9 遞歸 148
7.9.1 Quicksort的具體實現 149
7.9.2 拓展舉例:二叉查找樹 150
7.10 置換函數 155
7.10.1 什麼是置換函數 155
7.10.2 擴展案例:可記錄元素修改次數的向量類 156
7.11 寫函數代碼的工具 158
7.11.1 文本編輯器和集成開發環境 158
7.11.2 edit()函數 158
7.12 創建自己的二元運算符 159
7.13 匿名函數 159
第8章 數學運算與模擬 161
8.1 數學函數 161
8.1.1 擴展例子:計算概率 161
8.1.2 累積和與累積乘積 162
8.1.3 最小值和最大值 162
8.1.4 微積分 163
8.2 統計分佈函數 164
8.3 排序 165
8.4 向量和矩陣的線性代數運算 166
8.4.1 擴展示例:向量叉積 169
8.4.2 擴展示例:確定馬爾科夫鏈的平穩分佈 170
8.5 集合運算 171
8.6 用R做模擬 173
8.6.1 內置的隨機變量發生器 173
8.6.2 重複運行時獲得相同的隨機數流 175
8.6.3 擴展案例:組合的模擬 175
第9章 面向對象的編程 177
9.1 S3類 177
9.1.1 S3泛型函數 177
9.1.2 實例:線性模型函數lm()中的OOP 178
9.1.3 尋找泛型函數的實現方法 179
9.1.4 編寫S3類 181
9.1.5 使用繼承 182
9.1.6 擴展示例:用於存儲上三角矩陣的類 183
9.1.7 擴展示例:多項式回歸程序 187
9.2 S4類 191
9.2.1 編寫S4類 191
9.2.2 在S4類上實現泛型函數 193
9.3 S3類和S4類的對比 193
9.4 對象的管理 194
9.4.1 用ls()函數列出所有對象 194
9.4.2 用rm()函數刪除特定對象 194
9.4.3 用save()函數保存對象集合 195
9.4.4 查看對象內部結構 196
9.4.5 exists()函數 197
第10章 輸入與輸出 198
10.1 連接鍵盤與顯示器 198
10.1.1 使用scan()函數 198
10.1.2 使用readline()函數 200
10.1.3 輸出到顯示器 201
10.2 讀寫文件 202
10.2.1 從文件中讀取數據框或矩陣 202
10.2.2 讀取文本文件 203
10.2.3 連接的介紹 203
10.2.4 擴展案例:讀取PUMS普查數據 204
10.2.5 通過URL在遠程電腦上訪問文件 208
10.2.6 寫文件 209
10.2.7 獲取文件和目錄信息 210
10.2.8 擴展案例:多個文件內容的和 211
10.3 訪問因特網 211
10.3.1 TCP/IP概述 212
10.3.2 R中的socket 212
10.3.3 擴展案例:實現R的並行計算 213
第11章 字符串操作 216
11.1 字符串操作函數概述 216
11.1.1 grep() 216
11.1.2 nchar() 216
11.1.3 paste() 217
11.1.4 sprintf() 217
11.1.5 substr() 217
11.1.6 strsplit() 217
11.1.7 regexpr() 218
11.1.8 gregexpr() 218
11.2 正則表達式 218
11.2.1 擴展案例:檢測文件名的後綴 219
11.2.2 擴展案例:生成文件名 220
11.3 在調試工具edtdbg中使用字符串工具 221
第12章 繪圖 224
12.1 創建圖形 224
12.1.1 基礎圖形系統的核心:plot()函數 224
12.1.2 添加線條:abline()函數 225
12.1.3 在保持現有圖形的基礎上新增一個繪圖窗口 226
12.1.4 擴展案例:在一張圖中繪製兩條密度曲線 227
12.1.5 擴展案例:進一步考察多項式回歸 228
12.1.6 添加點:points()函數 231
12.1.7 添加圖例:legend()函數 231
12.1.8 添加文字:text()函數 232
12.1.9 精確定位:locator()函數 232
12.1.10 保存圖形 233
12.2 定製圖形 233
12.2.1 改變字符大小:cex選項 233
12.2.2 改變坐標軸的範圍:xlim和ylim選項 234
12.2.3 添加多邊形:polygon()函數 235
12.2.4 平滑散點:lowess()和loess()函數 236
12.2.5 繪製具有顯式表達式的函數 237
12.2.6 擴展案例:放大曲線的一部分 237
12.3 將圖形保存到文件 240
12.3.1 R圖形設備 240
12.3.2 保存已顯示的圖形 241
12.3.3 關閉R圖形設備 241
12.4 創建三維圖形 241
第13章 調試 243
13.1 調試的基本原則 243
13.1.1 調試的本質:確認原則 243
13.1.2 從小處著手 243
13.1.3 模塊化的、自頂向下的調試風格 244
13.1.4 反漏洞 244
13.2 為什麼要使用調試工具 244
13.3 使用R的調試工具 245
13.3.1 利用debug()和browser()函數進行逐步調試 245
13.3.2 使用瀏覽器命令 246
13.3.3 設置斷點 246
13.3.4 使用trace()函數進行追蹤 247
13.3.5 使用traceback()和debugger()函數對崩潰的程序進行檢查 248
13.3.6 擴展案例:兩個完整的調試會話 248
13.4 更方便的調試工具 256
13.5 在調試模擬數據的代碼時請確保一致性 258
13.6 語法和運行時錯誤 258
13.7 在R上運行GDB 259
第14章 性能提升:速度和內存 260
14.1 編寫快速的R代碼 260
14.2 可怕的for循環 260
14.2.1 用向量化提升速度 261
14.2.2 擴展案例:在蒙特卡羅模擬中獲得更快的速度 262
14.2.3 擴展案例:生成冪次矩陣 266
14.3 函數式編程和內存問題 267
14.3.1 向量賦值問題 267
14.3.2 改變時拷貝 268
14.3.3 擴展案例:避免內存拷貝 269
14.4 利用Rprof()來尋找代碼的瓶頸 270
14.4.1 利用Rprof()來進行監視 270
14.4.2 Rprof()的工作原理 271
14.5 字節碼編譯 273
14.6 內存無法裝下數據怎麼辦 273
14.6.1 分塊 274
14.6.2 利用R軟件包來進行內存管理 274
第15章 R與其他語言的接口 275
15.1 編寫能被R調用的C/C++函數 275
15.1.1 R與C/C++交互的預備知識 275
15.1.2 例子:提取方陣的次對角線元素 275
15.1.3 編譯和運行程序 276
15.1.4 調試R/C程序 277
15.1.5 擴展案例:預測離散取值的時間序列 279
15.2 從Python調用R 281
15.2.1 安裝RPy 281
15.2.2 RPy語法 282
第16章 R語言並行計算 284
16.1 共同外鏈問題 284
16.2 snow包簡介 285
16.2.1 運行snow代碼 285
16.2.2 分析snow代碼 287
16.2.3 可以獲得多少倍的加速 287
16.2.4 擴展案例:K均值聚類 288
16.3 借助於C 290
16.3.1 利用多核機器 291
16.3.2 擴展案例:利用OpenMP解決共同外鏈問題 291
16.3.3 運行OpenMP代碼 292
16.3.4 OpenMP代碼分析 293
16.3.5 其他OpenMP指令 293
16.3.6 GPU編程 294
16.4 普遍的性能考慮 295
16.4.1 開銷的來源 295
16.4.2 簡單並行程序,以及那些不簡單的 296
16.4.3 靜態和動態任務分配 297
16.4.4 軟件煉金術:將一般的問題轉化為簡單並行問題 299
16.5 調試R語言並行計算的代碼 299
附錄A 安裝R 300
附錄B 安裝和使用包 301
