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