R的極客理想:高級開發篇 R的极客理想——高级开发篇 (数据分析技术丛书)

張丹 著

  • 出版商: 機械工業出版社
  • 出版日期: 2015-07-01
  • 定價: $414
  • 售價: $414
  • 貴賓價: 9.5$393
  • 語言: 簡體中文
  • 頁數: 330
  • ISBN: 7111505123
  • ISBN-13: 9787111505129

下單後立即進貨 (4週~6週)

買這商品的人也買了...

相關活動主題

20180806 35 %e9%87%91%e5%b1%ac%e6%9b%b8%e7%b1%a4small

商品描述

<內容簡介>
 
本書的內容來自作者使用R語言的實踐經驗總結,以R語言的高級編程為主,輔以跨界知識的綜合運用,涉及計算機、統計、數學、金融四個學科的知識。書中首先闡釋如何用R語言實現數學計算和創建模型,涉及協同過濾算法、基於矩陣的PageRank算法、遺傳算法和金融交易策略模型。其次詳細介紹了R語言的環境空間、文件系統管理以及S3、S4、RC和R6四種面向對象的程序設計。最後介紹完整的R包開發流程,並提供每日中國天氣的應用案例和遊戲開發的案例,幫助讀者創建自己的R包,打開R語言產品化的思路。
書中介紹了多個場景案例,不僅從學術的角度完成了模型設計,而且用計算機的方法實現產品。通過案例的學習,不同學科背景的R語言使用者可以站在別人的角度,找到新的思維方法。
本書適合所有R語言工作者,包括軟件工程師、數據科學家、科研工作者以及相關專業的學生。

<目錄>

 前言
第一部分 R的計算和算法應用
第1章 R語言知識體系和數學函數 2
1.1 R語言知識體系概覽 2
1.1.1 R語言的知識體系結構 3
1.1.2 R語言學習 9
1.2 R語言中的數學計算 11
1.2.1 基本計算 12
1.2.2 三角函數計算 17
1.2.3 複數計算 22
1.2.4 方程計算 23
1.3 概率基礎和R語言 28
1.3.1 隨機變量介紹 28
1.3.2 隨機變量的數字特徵 29
1.3.3 極限定理 33
1.4 常用連續型分佈介紹及R語言實現 35
1.4.1 均勻分佈 35
1.4.2 正態分佈 37
1.4.3 指數分佈 39
1.4.4 伽瑪分佈 41
1.4.5 韋布爾分佈 43
1.4.6 卡方分佈 44
1.4.7 F分佈 46
1.4.8 t分佈 48
1.4.9 貝塔分佈 50
1.5 R語言的導數計算 51
1.5.1 導數計算 52
1.5.2 初等函數的導數公式 54
1.5.3 二階導數計算 57
1.5.4 偏導數計算 58
第2章 R語言的算法實現 61
2.1 用R重寫Mahout協同過濾算法 61
2.1.1 Mahout的推薦算法模型 62
2.1.2 R語言模型實現 64
2.1.3 算法實現的原理——矩陣變換 67
2.1.4 算法總結 69
2.2 PageRank算法R語言實現 69
2.2.1 PageRank算法介紹 70
2.2.2 PageRank算法原理 70
2.2.3 R語言單機算法實現 72
2.2.4 R語言分步式算法實現 75
2.3 二條均線打天下 78
2.3.1 移動平均線 79
2.3.2 均線模型 79
2.3.3 用R語言實現均線模型 80
2.4 R語言中的遺傳算法 94
2.4.1 遺傳算法介紹 94
2.4.2 遺傳算法原理 96
2.4.3 R語言中的遺傳算法 97
第二部分 深入R語言程序開發
第3章 R內核編程 106
3.1 撬動R內核的高級工具包pryr 106
3.1.1 pryr介紹 107
3.1.2 pryr安裝 107
3.1.3 pryr使用 108
3.2 揭開R語言中環境空間的神秘面紗 120
3.2.1 R語言的環境空間 121
3.2.2 環境空間的特徵 124
3.2.3 環境空間的訪問 126
3.3 解密R語言函數的環境空間 129
3.3.1 R語言的函數環境空間 129
3.3.2 封閉環境 130
3.3.3 綁定環境 130
3.3.4 運行環境 131
3.3.5 調用環境 132
3.3.6 完整的環境操作 133
3.4 用R進行文件系統管理 134
3.4.1 文件系統介紹 135
3.4.2 目錄操作 135
3.4.3 文件操作 139
3.4.4 幾個特殊的目錄 142
3.5 R語言3.1.x版本新特性 143
3.5.1 R語言 3.1.x版本介紹 144
3.5.2 R語言3.1.0新特性及代碼描述 145
3.5.3 R語言3.1.1新特性及代碼描述 157
第4章 面向對象編程 162
4.1 R語言面向對象編程 162
4.1.1 什麼是面向對象 163
4.1.2 R為什麼要進行面向對象編程 164
4.1.3 R的面向對象編程 164
4.2 R語言基於S3的面向對象編程 169
4.2.1 創建S3對象 170
4.2.2 泛型函數和方法調用 171
4.2.3 查看S3對象的函數 172
4.2.4 S3對象的繼承調用方式 174
4.2.5 S3對象的缺點 174
4.2.6 S3對象的使用 175
4.3 R語言基於S4的面向對象編程 176
4.3.1 創建S4對象 176
4.3.2 訪問S4對象的屬性 179
4.3.3 S4的泛型函數 180
4.3.4 查看S4對象的函數 180
4.3.5 S4對象的使用 181
4.4 R語言基於RC的面向對象編程 188
4.4.1 RC對象系統介紹 189
4.4.2 創建RC類和對象 189
4.4.3 對象賦值 192
4.4.4 定義對象的方法 193
4.4.5 RC對象內置方法和內置屬性 194
4.4.6 RC類的輔助函數 199
4.4.7 RC對象系統的使用 201
4.5 R語言基於R6的面向對象編程 206
4.5.1 初識R6 207
4.5.2 創建R6類和實例化對象 207
4.5.3 R6類的主動綁定 211
4.5.4 R6類的繼承關係 212
4.5.5 R6類對象的靜態屬性 214
4.5.6 R6類的可移植類型 215
4.5.7 R6類的動態綁定 216
4.5.8 R6類的打印函數 217
4.5.9 實例化對象的存儲 218
4.5.10 R6面向對象系統的案例 220
第三部分 開發自己的R包
第5章 R包開發 224
5.1 從頭開發自己的R包 224
5.1.1 用Linux命令行開發R包 225
5.1.2 RStudio中開發R包 231
5.2 標準化R包開發流程 235
5.2.1 開發流程介紹 235
5.2.2 編寫功能代碼 236
5.2.3 調試程序 237
5.2.4 單元測試 238
5.2.5 撰寫文檔 239
5.2.6 程序打包 241
5.2.7 程序發布 242
5.3 R語言天氣可視化應用 244
5.3.1 項目介紹 245
5.3.2 系統架構設計 246
5.3.3 R語言程序實現 247
5.4 R包開發——每日中國天氣 260
5.4.1 構建項目 260
5.4.2 靜態數據 261
5.4.3 編寫功能代碼 265
5.4.4 項目配置文件 271
5.4.5 調試程序 272
5.4.6 程序打包 273
第6章 R語言遊戲之旅 277
6.1 R語言鍵盤和鼠標事件 277
6.1.1 R語言圖形事件 278
6.1.2 圖形事件API 278
6.1.3 鍵盤事件 279
6.1.4 鼠標事件 280
6.2 貪食蛇遊戲入門 282
6.2.1 貪食蛇遊戲介紹 282
6.2.2 場景設計 283
6.2.3 程序設計 284
6.2.4 R語言實現 287
6.3 R語言遊戲框架設計 294
6.3.1 貪食蛇的面向對象改造 295
6.3.2 遊戲框架定義 297
6.3.3 在框架中重新實現貪食蛇遊戲 297
6.4 R語言製作遊戲2048 303
6.4.1 2048遊戲介紹 304
6.4.2 場景設計 304
6.4.3 程序設計 305
6.4.4 R語言實現 307
6.5 發布gridgame遊戲包 316
6.5.1 知識儲備 316
6.5.2 gridgame包開發 318
6.5.3 gridgame包發布 326