高級R語言編程指南 高级R语言编程指南
哈德利·威克漢姆 (Hadley Wickham)
- 出版商: 機械工業
 - 出版日期: 2016-06-01
 - 定價: $474
 - 售價: 8.5 折 $403
 - 語言: 簡體中文
 - 頁數: 297
 - 裝訂: 平裝
 - ISBN: 7111540670
 - ISBN-13: 9787111540670
 - 
    相關分類:
    
      R 語言
 - 此書翻譯自: Advanced R (Paperback)
 - 
    其他版本:
    
      高級 R語言編程指南, 2/e
 
買這商品的人也買了...
- 
                
                  
                  
                $294機器學習系統設計 (Building Machine Learning Systems with Python) - 
                
                  
                  
                ASP.NET MVC 5 網站開發美學$780$616 - 
                
                  
                  
                應用 R 語言於資料分析-從機器學習、資料探勘到巨量資料$380$23 - 
                
                  
                  
                $403數據挖掘:概念與技術, 3/e ( Data Mining : Concepts and Techniques 3/e) - 
                
                  
                  
                $294大數據演算法 - 
                
                  
                  
                精通 Python|運用簡單的套件進行現代運算 (Introducing Python: Modern Computing in Simple Packages)$780$616 - 
                
                  
                  
                完整學會 Git, GitHub, Git Server 的24堂課$360$284 - 
                
                  
                  
                $474機器學習 - 
                
                  
                  
                $207機器學習與R語言 - 
                
                  
                  
                $594基於R語言的自動資料收集:網絡抓取和文本挖掘實用指南 (Automated Data Collection with R) - 
                
                  
                  
                $210投資學及其R語言應用 - 
                
                  
                  
                Visual C# 2015 程式設計經典 (附範例光碟)$650$514 - 
                
                  
                  
                Python 程式設計實務-從初學到活用 Python 開發技巧的16堂課$560$437 - 
                
                  
                  
                Docker 錦囊妙計 (Docker Cookbook)$680$537 - 
                
                  
                  
                建構微服務|設計細微化的系統 (Building Microservices)$580$458 - 
                
                  
                  
                Python 機器學習 (Python Machine Learning)$580$452 - 
                
                  
                  
                $330Rcpp : R 與 C++ 的無縫整合 - 
                
                  
                  
                營銷數據科學:用 R 和 Python 進行預測分析的建模技術$474$450 - 
                
                  
                  
                $469深層學習 : 心智如何超越經驗 (這不是您想的 DeepLearning) - 
                
                  
                  
                $356實用機器學習 (Practical Machine Learning) - 
                
                  
                  
                $352自動化交易R語言實戰指南 (Automated Trading with R) - 
                
                  
                  
                $594R語言程式設計指南 - 
                
                  
                  
                人工智能基礎 (高中版)$210$200 - 
                
                  
                  
                Flask 網頁開發, 2/e (Flask Web Development : Developing Web Applications with Python, 2/e)$580$458 - 
                
                  
                  
                iOS 12 App 程式開發實務心法:30個製作專業級 iOS App 完全實戰攻略$850$663 
商品描述
<內容簡介>
本書從R語言的基礎知識入手,深入介紹了R函數式編程、R語言的面向對象特性、程序的調試、代碼優化和性能調優。同時,本書也介紹了R語言如何與HTML和LaTex語言結合的技術,介紹了高性能計算以及C語言編程接口。
<目錄>
推薦序
譯者序
第1章簡介1 
1.1本書的目標讀者2 
1.2通過本書你可以學到什麼2 
1.3元技術3 
1.4推薦閱讀3 
1.5獲取幫助4 
1.6致謝4 
1.7約定5 
1.8聲明5 
第一部分基礎知識
第2章數據結構8 
2.1向量9 
2.1.1原子向量9 
2.1.2列表11 
2.1.3練習12 
2.2屬性12 
2.2.1因子13 
2.2.2練習15 
2.3矩陣和數組15 
2.4數據框17 
2.4 .1數據框構建17 
2.4.2類型判斷與強制轉換18 
2.4.3合併數據框18 
2.4.4特殊列19 
2.4.5練習19 
2.5答案19 
第3章子集選取21 
3.1數據類型22 
3.1.1原子向量22 
3.1.2列表23 
3.1.3矩陣和數組23 
3.1.4數據框24 
3.1.5S3對象25 
3.1.6S4對象25 
3.1.7練習25 
3.2子集選取運算符26 
3.2.1簡化與保留26 
3.2 .2$27 
3.2.3缺失/超出索引邊界(越界引用)28 
3.2.4練習28 
3.3子集選取與賦值29 
3.4應用30 
3.4.1查詢表(字符子集選取)30 
3.4.2人工比對與合併(整數子集選取)30 
3.4.3隨機樣本/自助法(整數子集選取)31 
3.4.4排序(整數子集選取)31 
3.4.5展開重複記錄(整數子集選取)32 
3.4.6剔除數據框中某些列(字符子集選取)33 
3.4.7根據條件選取行(邏輯子集選取)33 
3.4.8布爾代數與集合(邏輯和整數子集選取)34 
3.4.9練習35 
3.5答案35 
第4章常用函數與數據結構36 
4.1基礎函數36 
4.2常見數據結構37 
4.3統計函數38 
4.4使用R39 
4.5I/O函數39 
第5章R編程風格指南40 
5.1符號和名字40 
5.1.1文件名40 
5.1.2對象名40 
5.2語法41 
5.2.1空格41 
5.2.2大括號42 
5.2.3行的長度42 
5.2.4縮進42 
5.2.5賦值43 
5.3結構43 
第6章函數44 
6.1函數組成部分45 
6.1.1原函數45 
6.1.2練習46 
6.2詞法作用域46 
6.2.1名字屏蔽47 
6.2.2函數與變量48 
6.2.3重新開始48 
6.2.4動態查找49 
6.2.5練習50 
6.3每個運算都是一次函數調用50 
6.4函數參數51 
6.4.1函數調用52 
6.4.2使用參數列表來調用函數53 
6.4.3默認參數和缺失參數53 
6.4.4惰性求值54 
6.4.5.. .參數56 
6.4.6練習57 
6.5特殊調用57 
6.5.1中綴函數57 
6.5.2替換函數58 
6.5.3練習59 
6.6返回值59 
6.6.1退出時61 
6.6.2練習62 
6.7答案62 
第7章面向對象編程指南64 
7.1基礎類型65 
7.2S366 
7.2.1認識對象、泛型函數和方法66 
7.2.2定義類和創建對象67 
7.2.3創建新方法和泛型函數69 
7.2.4方法分派69 
7.2.5練習71 
7.3S471 
7.3.1識別對象、泛型函數和方法72 
7.3.2定義類並創建對象73 
7.3.3創建新方法和泛型函數74 
7.3.4方法分派74 
7.3.5練習75 
7.4RC75 
7.4.1定義類和創建對象75 
7.4.2識別類和方法77 
7.4.3方法分派77 
7.4.4練習77 
7.5選擇一個系統77 
7.6答案78 
第8章環境79 
8.1環境基礎79 
8.2環境遞歸83 
8.3函數環境85 
8.3.1封閉環境85 
8.3.2綁定環境86 
8.3.3執行環境87 
8.3.4調用環境88 
8.3.5練習90 
8.4綁定名字和數值90 
8.5顯式環境92 
8.5.1避免複製93 
8.5.2軟件包狀態93 
8.5.3模擬hashmap93 
8.6答案94 
第9章調試、條件處理和防禦性編程95 
9.1調試技巧96 
9.2調試工具97 
9.2.1確定調用順序98 
9.2.2查看錯誤99 
9.2.3查看任意代碼100 
9.2.4調用棧:traceback()、where和recover()100 
9.2.5其他類型的故障101 
9.3條件處理102 
9.3.1使用try來忽略錯誤102 
9.3.2使用tryCatch ()處理條件103 
9.3.3withCallingHandlers()105 
9.3.4自定義信號類106 
9.3.5練習107 
9.4防禦性編程107 
9.5答案109 
第二部分函數式編程
第10章函數式編程112 
10.1動機112 
10.2匿名函數116 
10.3閉包117 
10.3.1函數工廠119 
10.3.2可變狀態119 
10.3.3練習120 
10.4函數列表120 
10.4.1將函數列表移到全局環境中122 
10.4.2練習123 
10.5案例研究:數值積分124 
第11章泛函127 
11.1第一個泛函:lapply()128 
11.1.1循環模式129 
11.1.2練習130 
11.2for循環泛函:lapply()的相似函數131 
11.2.1向量輸出:sapply和vapply131 
11.2.2多重輸入:Map(和mapply)133 
11.2.3滾動計算134 
11.2.4並行化135 
11.2.5練習136 
11.3操作矩陣和數據框137 
11.3.1矩陣和數組運算137 
11.3.2組應用138 
11.3.3plyr添加包139 
11.3.4練習140 
11.4列表操作140 
11.4.1Reduce()140 
11.4.2判斷泛函141 
11.4.3練習141 
11.5數學泛函142 
11.6應該保留的循環143 
11.6.1原位修改143 
11.6.2遞歸關係144 
11.6.3while循環144 
11.7創建一個函數係列145 
第12章函數運算符149 
12.1行為函數運算符150 
12.1.1緩存152 
12.1.2捕獲函數調用153 
12.1.3惰性155 
12.1.4練習155 
12.2輸出函數運算符156 
12.2.1簡單修飾156 
12.2.2改變函數的輸出157 
12.2.3練習158 
12.3輸入函數運算符159 
12.3.1預填充函數參數:局部函數應用159 
12.3. 2改變輸入類型159 
12.3.3練習160 
12.4組合函數運算符161 
12.4.1函數複合161 
12.4.2邏輯判斷和布爾代數163 
12.4.3練習163 
第三部分語言計算
第13章非標準計算166 
13.1表達式獲取167 
13.2在子集中進行非標準計算168 
13.3作用域問題171 
13.4從其他函數調用173 
13.5替換175 
13.5.1為替換提供應急方案177 
13.5.2捕獲未計算的表達式177 
13.5.3練習178 
13.6非標準計算的缺點178 
第14章表達式180 
14.1表達式的結構180 
14.2名字183 
14.3調用184 
14.3.1修改調用185 
14.3.2根據調用的元素來創建調用186 
14.3.3練習186 
14.4捕獲當前調用187 
14.5成對列表189 
14.6解析與逆解析191 
14.7使用遞歸函數遍歷抽象語法樹192 
14.7.1尋找F和T193 
14.7.2尋找通過賦值創建的所有變量194 
14.7.3修改調用樹197 
14.7.4練習198 
第15章領域特定語言200 
15.1HTML200 
15.1.1目標201 
15.1.2轉義202 
15.1.3基本標籤函數203 
15.1.4標籤函數204 
15.1.5處理所有標籤205 
15.1.6練習206 
15.2LaTeX206 
15.2 .1LaTeX數學206 
15.2.2目標207 
15.2.3to_math207 
15.2.4已知符號207 
15.2.5未知符號208 
15.2.6已知函數209 
15.2.7未知函數210 
15.2.8練習211 
第四部分性能
第16章性能214 
16.1R為什麼速度慢214 
16.2微測試215 
16.3語言性能216 
16.3.1極端動態性216 
16.3.2可變環境下的名字搜索218 
16.3.3惰性求值開銷219 
16.3.4練習219 
16.4實現的性能220 
16.4.1從數據框提取單一值220 
16.4.2ifelse()、pmin()和pmax()220 
16.4.3練習222 
16.5其他的R實現222 
第17章代碼優 化225 
17.1性能測試226 
17.2改進性能229 
17.3組織代碼229 
17.4有人已經解決了這個問題嗎230 
17.5盡可能少做231 
17.6向量化236 
17.7避免複製237 
17.8字節碼編譯238 
17.9案例研究:t檢驗238 
17.10並行化240 
17.11其他技術241 
第18章內存243 
18.1對像大小243 
18.2內存使用與垃圾回收246 
18.3使用lineprof對內存進行性能分析248 
18.4原地修改250 
18.4.1循環252 
18.4.2練習253 
第19章使用Rcpp編寫高性能函數254 
19.1開始使用C++255 
19.1.1沒有輸入,標量輸出256 
19.1.2標量輸入,標量輸出256 
19.1.3向量輸入,標量輸出257 
19.1.4向量輸入,向量輸出258 
19.1.5矩陣輸入,向量輸出258 
19.1.6使用sourceCpp259 
19.1.7練習260 
19.2屬性和其他類261 
19.2.1列表和數據框262 
19.2.2函數262 
19.2.3其他類型263 
19.3缺失值263 
19.3.1標量263 
19.3.2字符串265 
19.3.3布爾型265 
19.3.4向量265 
19.3.5練習266 
19.4Rcpp語法糖266 
19.4.1算術和邏輯運算符266 
19.4.2邏輯總結函數267 
19.4.3向量視圖267 
19.4.4其他有用的函數267 
19.5STL268 
19.5.1使用疊代器268 
19.5.2算法269 
19.5.3數據結構270 
19.5.4向量270 
19.5.5集合271 
19.5.6圖272 
19.5.7練習272 
19.6案例研究272 
19.6.1Gibbs採樣器273 
19.6.2R向量化與C++向量化274 
19.7在添加包中應用Rcpp275 
19.8更多學習資源276 
19.9致謝277 
第20章R的C接口278 
20.1從R中調用C函數279 
20.2C數據結構280 
20.3創建和修改向量281 
20.3.1創建向量和垃圾回收281 
20.3.2缺失值和非有限值282 
20.3.3訪問向量數據283 
20.3.4字符向量和列表284 
20.3.5修改輸入284 
20.3.6強制轉換標量285 
20.3.7長向量285 
20.4成對列表286 
20.5輸入驗證287 
20.6尋找一個函數的C源代碼289 
索引292
