注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語言/工具R語言編程藝術(shù)

R語言編程藝術(shù)

R語言編程藝術(shù)

定 價(jià):¥69.00

作 者: (美)Norman Matloff 著,陳堰平 邱怡軒 潘嵐鋒 熊熹 譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

ISBN: 9787111423140 出版時(shí)間: 2013-05-01 包裝: 平裝
開本: 16 頁(yè)數(shù): 303 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《R語言編程藝術(shù)》是R語言領(lǐng)域公認(rèn)的經(jīng)典著作,由著名計(jì)算機(jī)科學(xué)家兼統(tǒng)計(jì)學(xué)家撰寫,它是一本面向R語言開發(fā)者的純編程類書籍,不需要讀者具備統(tǒng)計(jì)學(xué)基礎(chǔ),從編程角度而非統(tǒng)計(jì)學(xué)角度系統(tǒng)講解了R語言的數(shù)據(jù)結(jié)構(gòu)、編程結(jié)構(gòu)、語法、TCP/IP網(wǎng)絡(luò)編程、并行計(jì)算、代碼調(diào)試、程序性能優(yōu)化、編程技巧以及R語言與其他語言的接口等所有與R編程相關(guān)的知識(shí),幾乎面面俱到。本書的實(shí)用性也非常強(qiáng),44個(gè)精選的擴(kuò)展案例,充分展示了R語言在數(shù)據(jù)處理和統(tǒng)計(jì)分析方面的強(qiáng)大能力。全書一共16章:第1章介紹了學(xué)習(xí)R語言需要掌握的預(yù)備知識(shí)以及它的一些重要數(shù)據(jù)結(jié)構(gòu);第2~6章詳細(xì)講解了R語言的主要數(shù)據(jù)結(jié)構(gòu),包括向量、矩陣、數(shù)組、列表、數(shù)據(jù)框和因子;第7~13章全面講解了R語言的語法,包括編程結(jié)構(gòu)、面向?qū)ο筇匦浴?shù)學(xué)運(yùn)算與模擬、輸入與輸出、字符串處理、繪圖,以及R語言的調(diào)試方法。第14~16章講解了R語言編程的高級(jí)內(nèi)容,如執(zhí)行速度和性能的提升、R語言與C/C++或Python的混合編程,以及R語言的并行計(jì)算等。

作者簡(jiǎn)介

  本書三位主要譯者都是統(tǒng)計(jì)之都(http://cos.name)的管理員、中國(guó)R語言會(huì)議理事會(huì)成員。 陳堰平畢業(yè)于中國(guó)人民大學(xué)統(tǒng)計(jì)學(xué)院,現(xiàn)任國(guó)家金融信息中心數(shù)據(jù)中心研發(fā)部負(fù)責(zé)人,從事指數(shù)編制、指數(shù)化投資、金融衍生品方面的工作,對(duì)金融數(shù)據(jù)分析有多年的研究,博客網(wǎng)址為http://yanping.me。邱怡軒是普度大學(xué)統(tǒng)計(jì)系在讀博士研究生,開發(fā)過rarpark、R2SWF、Layer等R語言程序包,博客網(wǎng)址為http://yixuan.cos.name/。潘嵐峰是愛荷華州立大學(xué)統(tǒng)計(jì)系在讀博士研究生,開發(fā)過R語言程序包bignmf。陳堰平2013年3月于新華通訊社第三工作區(qū)

圖書目錄

譯者序
前 言
致 謝
第1章 快速入門    1
1.1 怎樣運(yùn)行R    1
1.1.1 交互模式    1
1.1.2 批處理模式    2
1.2 第一個(gè)R會(huì)話    3
1.3 函數(shù)入門    5
1.3.1 變量的作用域    7
1.3.2 默認(rèn)參數(shù)    8
1.4 R語言中一些重要的數(shù)據(jù)結(jié)構(gòu)    8
1.4.1 向量,R語言中的戰(zhàn)斗機(jī)    8
1.4.2 字符串    9
1.4.3 矩陣    9
1.4.4 列表    10
1.4.5 數(shù)據(jù)框    12
1.4.6 類    12
1.5 擴(kuò)展案例:考試成績(jī)的回歸分析    13
1.6 啟動(dòng)和關(guān)閉R    16
1.7 獲取幫助    17
1.7.1 help()函數(shù)    18
1.7.2 example()函數(shù)    18
1.7.3 如果你不太清楚要查找什么    19
1.7.4 其他主題的幫助    20
1.7.5 批處理模式的幫助    21
1.7.6 互聯(lián)網(wǎng)資源    21
第2章 向量    22
2.1 標(biāo)量、向量、數(shù)組與矩陣    22
2.1.1 添加或刪除向量元素    22
2.1.2 獲取向量長(zhǎng)度    23
2.1.3 作為向量的矩陣和數(shù)組    24
2.2 聲明    24
2.3 循環(huán)補(bǔ)齊    25
2.4 常用的向量運(yùn)算    26
2.4.1 向量運(yùn)算和邏輯運(yùn)算    26
2.4.2 向量索引    27
2.4.3 用:運(yùn)算符創(chuàng)建向量    28
2.4.4 使用seq()創(chuàng)建向量    28
2.4.5 使用rep()重復(fù)向量常數(shù)    29
2.5 使用all()和any()    30
2.5.1 擴(kuò)展案例:尋找連續(xù)出現(xiàn)1的游程    30
2.5.2 擴(kuò)展案例:預(yù)測(cè)離散值時(shí)間序列    31
2.6 向量化運(yùn)算符    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()函數(shù)篩選    40
2.8.3 選擇函數(shù)which()    40
2.9 向量化的ifelse()函數(shù)    41
2.9.1 擴(kuò)展案例:度量相關(guān)性    42
2.9.2 擴(kuò)展案例:對(duì)鮑魚數(shù)據(jù)集重新編碼    44
2.10 測(cè)試向量相等    46
2.11 向量元素的名稱    47
2.12 關(guān)于c()的更多內(nèi)容    48
第3章 矩陣和數(shù)組    49
3.1 創(chuàng)建矩陣    49
3.2 一般矩陣運(yùn)算    50
3.2.1 線性代數(shù)運(yùn)算    50
3.2.2 矩陣索引    51
3.2.3 擴(kuò)展案例:圖像操作    52
3.2.4 矩陣元素篩選    55
3.2.5 擴(kuò)展案例:生成協(xié)方差矩陣    57
3.3 對(duì)矩陣的行和列調(diào)用函數(shù)    58
3.3.1 使用apply()函數(shù)    58
3.3.2 擴(kuò)展案例:尋找異常值    60
3.4 增加或刪除矩陣的行或列    61
3.4.1 改變矩陣的大小    61
3.4.2 擴(kuò)展案例:找到圖中距離最近的一對(duì)端點(diǎn)    63
3.5 向量與矩陣的差異    65
3.6 避免意外降維    66
3.7 矩陣的行和列的命名問題    68
3.8 高維數(shù)組    68
第4章 列表    71
4.1 創(chuàng)建列表    71
4.2 列表的常規(guī)操作    72
4.2.1 列表索引    72
4.2.2 增加或刪除列表元素    73
4.2.3 獲取列表長(zhǎng)度    75
4.2.4 擴(kuò)展案例:文本詞匯索引    75
4.3 訪問列表元素和值    78
4.4 在列表上使用apply系列函數(shù)    79
4.4.1 lapply()和sapply()的使用    79
4.4.2 擴(kuò)展案例:文本詞匯索引(續(xù))    80
4.4.3 擴(kuò)展案例:鮑魚數(shù)據(jù)    82
4.5 遞歸型列表    83
第5章 數(shù)據(jù)框    85
5.1 創(chuàng)建數(shù)據(jù)框    85
5.1.1 訪問數(shù)據(jù)框    85
5.1.2 擴(kuò)展案例:考試成績(jī)的回歸分析(續(xù))    86
5.2 其他矩陣式操作    87
5.2.1 提取子數(shù)據(jù)框    87
5.2.2 缺失值的處理    88
5.2.3 使用rbind()和cbind()等函數(shù)    89
5.2.4 使用apply()    90
5.2.5 擴(kuò)展案例:工資研究    90
5.3 合并數(shù)據(jù)框    92
5.4 應(yīng)用于數(shù)據(jù)框的函數(shù)    95
5.4.1 在數(shù)據(jù)框上應(yīng)用lapply()和sapply()函數(shù)    95
5.4.2 擴(kuò)展案例:應(yīng)用Logistic模型    95
5.4.3 擴(kuò)展案例:學(xué)習(xí)中文方言的輔助工具    96
第6章 因子和表    102
6.1 因子與水平    102
6.2 因子的常用函數(shù)    103
6.2.1 tapply函數(shù)    103
6.2.2 split()函數(shù)    105
6.2.3 by()函數(shù)    106
6.3 表的操作    107
6.3.1 表中有關(guān)矩陣和類似數(shù)組的操作    109
6.3.2 擴(kuò)展案例: 提取子表    111
6.3.3 擴(kuò)展案例:在表中尋找頻數(shù)最大的單元格    113
6.4 其他與因子和表有關(guān)的函數(shù)    114
6.4.1 aggregate()函數(shù)    115
6.4.2 cut()函數(shù)    115
第7章 R語言編程結(jié)構(gòu)    116
7.1 控制語句    116
7.1.1 循環(huán)    116
7.1.2 對(duì)非向量集合的循環(huán)    119
7.1.3 if-else結(jié)構(gòu)    120
7.2 算術(shù)和邏輯運(yùn)算符及數(shù)值    121
7.3 參數(shù)的默認(rèn)值    122
7.4 返回值    123
7.4.1 決定是否顯式調(diào)用return ()    124
7.4.2 返回復(fù)雜對(duì)象    124
7.5 函數(shù)都是對(duì)象    124
7.6 環(huán)境和變量作用域的問題    127
7.6.1 頂層環(huán)境    127
7.6.2 變量作用域的層次    128
7.6.3 關(guān)于ls()的進(jìn)一步討論    131
7.6.4 函數(shù)(幾乎)沒有副作用    131
7.6.5 擴(kuò)展案例:顯示調(diào)用框的函數(shù)    132
7.7 R語言中沒有指針    134
7.8 向上級(jí)層次進(jìn)行寫操作    136
7.8.1 利用超賦值運(yùn)算符對(duì)非局部變量進(jìn)行寫操作    136
7.8.2 用assign()函數(shù)對(duì)非局部變量進(jìn)行寫操作    137
7.8.3 擴(kuò)展案例:用R語言實(shí)現(xiàn)離散事件仿真    138
7.8.4 什么時(shí)候使用全局變量    145
7.8.5 閉包    147
7.9 遞歸    148
7.9.1 Quicksort的具體實(shí)現(xiàn)    149
7.9.2 拓展舉例:二叉查找樹    150
7.10 置換函數(shù)    155
7.10.1 什么是置換函數(shù)    155
7.10.2 擴(kuò)展案例:可記錄元素修改次數(shù)的向量類    156
7.11 寫函數(shù)代碼的工具    158
7.11.1 文本編輯器和集成開發(fā)環(huán)境    158
7.11.2 edit()函數(shù)    158
7.12 創(chuàng)建自己的二元運(yùn)算符    159
7.13 匿名函數(shù)    159
第8章 數(shù)學(xué)運(yùn)算與模擬    161
8.1 數(shù)學(xué)函數(shù)    161
8.1.1 擴(kuò)展例子:計(jì)算概率    161
8.1.2 累積和與累積乘積    162
8.1.3 最小值和最大值    162
8.1.4 微積分    163
8.2 統(tǒng)計(jì)分布函數(shù)    164
8.3 排序    165
8.4 向量和矩陣的線性代數(shù)運(yùn)算    166
8.4.1 擴(kuò)展示例:向量叉積    169
8.4.2 擴(kuò)展示例:確定馬爾科夫鏈的平穩(wěn)分布    170
8.5 集合運(yùn)算    171
8.6 用R做模擬    173
8.6.1 內(nèi)置的隨機(jī)變量發(fā)生器    173
8.6.2 重復(fù)運(yùn)行時(shí)獲得相同的隨機(jī)數(shù)流    175
8.6.3 擴(kuò)展案例:組合的模擬    175
第9章 面向?qū)ο蟮木幊?nbsp;   177
9.1 S3類    177
9.1.1 S3泛型函數(shù)    177
9.1.2 實(shí)例:線性模型函數(shù)lm()中的OOP    178
9.1.3 尋找泛型函數(shù)的實(shí)現(xiàn)方法    179
9.1.4 編寫S3類    181
9.1.5 使用繼承    182
9.1.6 擴(kuò)展示例:用于存儲(chǔ)上三角矩陣的類    183
9.1.7 擴(kuò)展示例:多項(xiàng)式回歸程序    187
9.2 S4類    191
9.2.1 編寫S4類    191
9.2.2 在S4類上實(shí)現(xiàn)泛型函數(shù)    193
9.3 S3類和S4類的對(duì)比    193
9.4 對(duì)象的管理    194
9.4.1 用ls()函數(shù)列出所有對(duì)象    194
9.4.2 用rm()函數(shù)刪除特定對(duì)象    194
9.4.3 用save()函數(shù)保存對(duì)象集合    195
9.4.4 查看對(duì)象內(nèi)部結(jié)構(gòu)    196
9.4.5 exists()函數(shù)    197
第10章 輸入與輸出    198
10.1 連接鍵盤與顯示器    198
10.1.1 使用scan()函數(shù)    198
10.1.2 使用readline()函數(shù)    200
10.1.3 輸出到顯示器    201
10.2 讀寫文件    202
10.2.1 從文件中讀取數(shù)據(jù)框或矩陣    202
10.2.2 讀取文本文件    203
10.2.3 連接的介紹    203
10.2.4 擴(kuò)展案例:讀取PUMS普查數(shù)據(jù)    204
10.2.5 通過URL在遠(yuǎn)程計(jì)算機(jī)上訪問文件    208
10.2.6 寫文件    209
10.2.7 獲取文件和目錄信息    210
10.2.8 擴(kuò)展案例:多個(gè)文件內(nèi)容的和    211
10.3 訪問互聯(lián)網(wǎng)    211
10.3.1 TCP/IP概述    212
10.3.2 R中的socket    212
10.3.3 擴(kuò)展案例:實(shí)現(xiàn)R的并行計(jì)算    213
第11章 字符串操作    216
11.1 字符串操作函數(shù)概述    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 正則表達(dá)式    218
11.2.1 擴(kuò)展案例:檢測(cè)文件名的后綴    219
11.2.2 擴(kuò)展案例:生成文件名    220
11.3 在調(diào)試工具edtdbg中使用字符串工具    221
第12章 繪圖    224
12.1 創(chuàng)建圖形    224
12.1.1 基礎(chǔ)圖形系統(tǒng)的核心:plot()函數(shù)    224
12.1.2 添加線條:abline()函數(shù)    225
12.1.3 在保持現(xiàn)有圖形的基礎(chǔ)上新增一個(gè)繪圖窗口    226
12.1.4 擴(kuò)展案例:在一張圖中繪制兩條密度曲線    227
12.1.5 擴(kuò)展案例:進(jìn)一步考察多項(xiàng)式回歸    228
12.1.6 添加點(diǎn):points()函數(shù)    231
12.1.7 添加圖例:legend()函數(shù)    231
12.1.8 添加文字:text()函數(shù)    232
12.1.9 精確定位:locator()函數(shù)    232
12.1.10 保存圖形    233
12.2 定制圖形    233
12.2.1 改變字符大?。篶ex選項(xiàng)    233
12.2.2 改變坐標(biāo)軸的范圍:xlim和ylim選項(xiàng)    234
12.2.3 添加多邊形:polygon()函數(shù)    235
12.2.4 平滑散點(diǎn):lowess()和loess()函數(shù)    236
12.2.5 繪制具有顯式表達(dá)式的函數(shù)    237
12.2.6 擴(kuò)展案例:放大曲線的一部分    237
12.3 將圖形保存到文件    240
12.3.1 R圖形設(shè)備    240
12.3.2 保存已顯示的圖形    241
12.3.3 關(guān)閉R圖形設(shè)備    241
12.4 創(chuàng)建三維圖形    241
第13章 調(diào)試    243
13.1 調(diào)試的基本原則    243
13.1.1 調(diào)試的本質(zhì):確認(rèn)原則    243
13.1.2 從小處著手    243
13.1.3 模塊化的、自頂向下的調(diào)試風(fēng)格    244
13.1.4 反漏洞    244
13.2 為什么要使用調(diào)試工具    244
13.3 使用R的調(diào)試工具    245
13.3.1 利用debug()和browser()函數(shù)進(jìn)行逐步調(diào)試    245
13.3.2 使用瀏覽器命令    246
13.3.3 設(shè)置斷點(diǎn)    246
13.3.4 使用trace()函數(shù)進(jìn)行追蹤    247
13.3.5 使用traceback()和debugger()函數(shù)對(duì)崩潰的程序進(jìn)行檢查    248
13.3.6 擴(kuò)展案例:兩個(gè)完整的調(diào)試會(huì)話    248
13.4 更方便的調(diào)試工具    256
13.5 在調(diào)試模擬數(shù)據(jù)的代碼時(shí)請(qǐng)確保一致性    258
13.6 語法和運(yùn)行時(shí)錯(cuò)誤    258
13.7 在R上運(yùn)行GDB    259
第14章 性能提升:速度和內(nèi)存    260
14.1 編寫快速的R代碼    260
14.2 可怕的for循環(huán)    260
14.2.1 用向量化提升速度    261
14.2.2 擴(kuò)展案例:在蒙特卡羅模擬中獲得更快的速度    262
14.2.3 擴(kuò)展案例:生成冪次矩陣    266
14.3 函數(shù)式編程和內(nèi)存問題    267
14.3.1 向量賦值問題    267
14.3.2 改變時(shí)拷貝    268
14.3.3 擴(kuò)展案例:避免內(nèi)存拷貝    269
14.4 利用Rprof()來尋找代碼的瓶頸    270
14.4.1 利用Rprof()來進(jìn)行監(jiān)視    270
14.4.2 Rprof()的工作原理    271
14.5 字節(jié)碼編譯    273
14.6 內(nèi)存無法裝下數(shù)據(jù)怎么辦    273
14.6.1 分塊    274
14.6.2 利用R軟件包來進(jìn)行內(nèi)存管理    274
第15章 R與其他語言的接口    275
15.1 編寫能被R調(diào)用的C/C++函數(shù)    275
15.1.1 R與C/C++交互的預(yù)備知識(shí)    275
15.1.2 例子:提取方陣的次對(duì)角線元素    275
15.1.3 編譯和運(yùn)行程序    276
15.1.4 調(diào)試R/C程序    277
15.1.5 擴(kuò)展案例:預(yù)測(cè)離散取值的時(shí)間序列    279
15.2 從Python調(diào)用R    281
15.2.1 安裝RPy    281
15.2.2 RPy語法    282
第16章 R語言并行計(jì)算    284
16.1 共同外鏈問題    284
16.2 snow包簡(jiǎn)介    285
16.2.1 運(yùn)行snow代碼    285
16.2.2 分析snow代碼    287
16.2.3 可以獲得多少倍的加速    287
16.2.4 擴(kuò)展案例:K均值聚類    288
16.3 借助于C    290
16.3.1 利用多核機(jī)器    291
16.3.2 擴(kuò)展案例:利用OpenMP解決共同外鏈問題    291
16.3.3 運(yùn)行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 簡(jiǎn)單并行程序,以及那些不簡(jiǎn)單的    296
16.4.3 靜態(tài)和動(dòng)態(tài)任務(wù)分配    297
16.4.4 軟件煉金術(shù):將一般的問題轉(zhuǎn)化為簡(jiǎn)單并行問題    299
16.5 調(diào)試R語言并行計(jì)算的代碼    299
附錄A 安裝R    300
附錄B 安裝和使用包    301

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)