本書為計(jì)算機(jī)輔助統(tǒng)計(jì)編程的入門書,由淺入深地介紹實(shí)用統(tǒng)計(jì)中R的學(xué)習(xí)和使用方法,使讀者能夠深切領(lǐng)會(huì)數(shù)據(jù)科學(xué)和R的魅力。本書共7章,第1章為入門,簡(jiǎn)單介紹本書特點(diǎn)以及R軟件和RStudio平臺(tái)的特性;第2章為R語(yǔ)言簡(jiǎn)介,介紹了R語(yǔ)言基本特征、數(shù)據(jù)操作和程序包等內(nèi)容;第3章為統(tǒng)計(jì)繪圖,涉及低級(jí)和高級(jí)繪圖函數(shù)以及圖形系統(tǒng)的基礎(chǔ)知識(shí);第4章為R編程;第5~7章為R統(tǒng)計(jì)編程核心內(nèi)容,包括模擬、計(jì)算線性代數(shù)和數(shù)值優(yōu)化等內(nèi)容。本書附錄對(duì)各種隨機(jī)變量和分布類型進(jìn)行了概述,讀者可以隨時(shí)翻閱附錄以幫助理解正文內(nèi)容。
更多科學(xué)出版社服務(wù),請(qǐng)掃碼獲取。
目錄
第二版序言
第一版序言
譯者序
第1章 入門 1
1.1 什么是統(tǒng)計(jì)編程? 1
1.2 本書概要 2
1.3 R程序包 2
1.4 為什么使用命令行? 3
1.5 字體規(guī)則 3
1.6 R軟件和RStudio的安裝 4
1.7 RStudio入門 5
1.8 進(jìn)階 6
第2章 R語(yǔ)言簡(jiǎn)介 7
2.1 R基礎(chǔ) 7
2.1.1 R的計(jì)算器功能 7
2.1.2 命名與存儲(chǔ) 9
2.1.3 退出R 10
2.1.4 保存工作記錄 11
2.2 R基本特征 11
2.2.1 函數(shù) 11
2.2.2 R區(qū)分大小寫 12
2.2.3 列出工作空間中的對(duì)象 13
2.3 R中的向量 13
2.3.1 數(shù)值型向量 13
2.3.2 從向量中提取元素 15
2.3.3 向量運(yùn)算 16
2.3.4 簡(jiǎn)單復(fù)寫向量 17
2.3.5 隨機(jī)模式向量 18
2.3.6 字符型向量 18
2.3.7 因子 19
2.3.8 從向量中提取元素的技巧 20
2.3.9 矩陣和數(shù)組 21
2.4 R數(shù)據(jù)存儲(chǔ) 24
2.4.1 數(shù)字的近似存儲(chǔ) 24
2.4.2 數(shù)據(jù)的精確存儲(chǔ) 26
2.4.3 日期和時(shí)間 27
2.4.4 缺失值和其他特殊值 27
2.5 程序包、程序庫(kù)和存儲(chǔ)庫(kù) 29
2.6 獲取幫助 31
2.6.1 內(nèi)置幫助頁(yè)面 31
2.6.2 內(nèi)置實(shí)例 32
2.6.3 函數(shù)名未知時(shí)尋找?guī)椭?32
2.6.4 一些內(nèi)置圖形函數(shù) 34
2.6.5 一些基本內(nèi)置函數(shù) 36
2.7 邏輯向量和關(guān)系運(yùn)算符 37
2.7.1 布爾代數(shù) 37
2.7.2 R中的邏輯運(yùn)算 38
2.7.3 關(guān)系運(yùn)算符 39
2.8 數(shù)據(jù)框和列表 41
2.8.1 提取數(shù)據(jù)框元素和子集 43
2.8.2 從總體中抽取隨機(jī)樣本 44
2.8.3 構(gòu)建數(shù)據(jù)框 44
2.8.4 數(shù)據(jù)框可以有非數(shù)值型的列 45
2.8.5 列表 46
2.9 數(shù)據(jù)的輸入和輸出 48
2.9.1 改變工作目錄 48
2.9.2 dump()和source()函數(shù) 48
2.9.3 R輸出重定向 49
2.9.4 保存和恢復(fù)映像文件 50
2.9.5 read.table()函數(shù) 50
本章練習(xí) 52
第3章 統(tǒng)計(jì)繪圖 54
3.1 高級(jí)繪圖 54
3.1.1 條形圖和圓點(diǎn)圖 55
3.1.2 餅圖 58
3.1.3 直方圖 59
3.1.4 箱線圖 61
3.1.5 散點(diǎn)圖 63
3.1.6 對(duì)數(shù)據(jù)框進(jìn)行繪圖 64
3.1.7 QQ圖 66
3.2 選擇高級(jí)圖形 69
3.3 低級(jí)繪圖函數(shù) 70
3.3.1 繪圖區(qū)和繪圖邊緣 70
3.3.2 添加圖形元素 71
3.3.3 調(diào)節(jié)坐標(biāo)軸刻度標(biāo)簽 73
3.3.4 圖形參數(shù)設(shè)置 75
3.4 其他圖形系統(tǒng) 77
3.4.1 ggplot2程序包 77
3.4.2 lattice程序包 79
3.4.3 grid程序包 80
3.4.4 交互式圖形 81
本章練習(xí) 82
第4章 R編程 83
4.1 程序流控制 83
4.1.1 for()循環(huán) 83
4.1.2 if()語(yǔ)句 89
4.1.3 while()循環(huán) 93
4.1.4 牛頓法求根 94
4.1.5 repeat循環(huán)、break語(yǔ)句和next語(yǔ)句 96
4.2 運(yùn)用函數(shù)處理復(fù)雜性問(wèn)題 98
4.2.1 什么是函數(shù)? 98
4.2.2 變量的作用域 101
4.2.3 返回多個(gè)對(duì)象 102
4.2.4 使用S3類控制輸出 102
4.3 replicate()函數(shù) 103
4.4 編程技巧集萃 104
4.4.1 在編輯器而不是控制臺(tái)里編輯 104
4.4.2 使用#符號(hào)編寫文檔 105
4.4.3 整潔計(jì)數(shù) 105
4.5 通用編程指南 107
4.6 調(diào)試與維護(hù) 114
4.6.1 發(fā)現(xiàn)漏洞 115
4.6.2 重現(xiàn)錯(cuò)誤 115
4.6.3 找出漏洞產(chǎn)生的原因 116
4.6.4 修復(fù)錯(cuò)誤并測(cè)試 118
4.6.5 查找類似的錯(cuò)誤 118
4.6.6 在RStudio中調(diào)試 118
4.6.7 browser()、debug()和debugonce()函數(shù) 119
4.7 高效編程 120
4.7.1 學(xué)習(xí)使用工具 120
4.7.2 使用高效率的算法 121
4.7.3 測(cè)試程序運(yùn)行時(shí)間 123
4.7.4 嘗試不同的工具 124
4.7.5 精心優(yōu)化 124
本章練習(xí) 124
第5章 模擬 127
5.1 蒙特卡羅模擬 127
5.2 偽隨機(jī)數(shù)的生成 128
5.3 其他隨機(jī)變量的模擬 133
5.3.1 伯努利隨機(jī)變量 133
5.3.2 二項(xiàng)分布隨機(jī)變量 134
5.3.3 泊松隨機(jī)變量 138
5.3.4 指數(shù)隨機(jī)變量 142
5.3.5 正態(tài)隨機(jī)變量 144
5.3.6 R內(nèi)置分布 146
5.4 多元隨機(jī)數(shù)的生成 147
5.5 馬爾可夫鏈模擬 148
5.6 蒙特卡羅積分 153
5.7 高級(jí)模擬方法 155
5.7.1 舍選抽樣法 156
5.7.2 重要性抽樣法 159
本章練習(xí) 161
第6章 計(jì)算線性代數(shù) 165
6.1 R中的向量和矩陣 166
6.1.1 構(gòu)建矩陣對(duì)象 166
6.1.2 訪問(wèn)矩陣元素:行名和列名 168
6.1.3 矩陣性質(zhì) 170
6.1.4 三角矩陣 172
6.1.5 矩陣運(yùn)算 173
6.2 矩陣乘法和逆矩陣 174
6.2.1 矩陣求逆 175
6.2.2 LU分解 176
6.2.3 R中的逆矩陣 178
6.2.4 線性方程組求解 179
6.3 特征值和特征向量 179
6.4 其他矩陣分解方法 180
6.4.1 矩陣的奇異值分解 180
6.4.2 正定矩陣的楚列斯基分解 181
6.4.3 矩陣的QR分解 183
6.5 其他矩陣運(yùn)算 188
6.5.1 克羅內(nèi)克積 189
6.5.2 apply()函數(shù) 189
本章練習(xí) 189
第7章 數(shù)值優(yōu)化 191
7.1 黃金分割搜索法 191
7.2 牛頓迭代法 195
7.3 Nelder-Mead單純形法 197
7.4 內(nèi)置函數(shù) 201
7.5 線性規(guī)劃 202
7.5.1 R中求解線性規(guī)劃問(wèn)題 204
7.5.2 極大化和其他約束類型 205
7.5.3 特殊情況 206
7.5.4 無(wú)約束變量 209
7.5.5 整數(shù)規(guī)劃 210
7.5.6 lp()的替代函數(shù) 211
7.5.7 二次規(guī)劃 211
本章練習(xí) 217
附錄 隨機(jī)變量和分布類型概述 219
索引 222