R語言,一種自由軟件編程語言與操作環(huán)境,主要用于統(tǒng)計分析、繪圖、數據挖掘. 雖然 R是一款統(tǒng)計軟件,但也可用于數值分析和矩陣計算. 本書是 R語言的一本入門教材,講授學習 R必備的內容. 僅使用最基本的統(tǒng)計知識,介紹 R函數的使用方法,以及如何使用 R的內置函數去解決統(tǒng)計中的問題. 介紹 R中與數值分析相關的內容,并利用相應算法來學習 R語言的編程. 介紹 R的繪圖功能,及相關的繪圖函數. 本書的每一章是針對一類問題設計的,討論的內容由淺入深、循序漸進. 并在最后一章介紹擴展 R的方法,讀者可以根據自己的需求擴展 R的相關功能.
本書適合于理工、經管和生物等專業(yè)的本科生、研究生,或者相關專業(yè)的技術人員學習 R使用,可以作為“統(tǒng)計計算”課程的教材或教學參考書,也可作為數學建模競賽培訓的輔導教材.
《統(tǒng)計建模與 R軟件》一書出版 (2007年 4月出版 )已有 7個年頭 ,當初編寫此書的主要目的是希望學生在數學建模競賽中 ,使用 R軟件解決他們可能遇到的統(tǒng)計問題 .隨著 R軟件在中國的普及與發(fā)展 ,此書有幸成為 R語言初學者的入門教材 1 .因此 ,當有人向我建議,專門編寫一本 R語言的入門教材時,本人欣然同意,并著手這方面的工作.
真正開始編寫教材后 ,遇到的困難超出我的想象 .首先 ,R語言涵蓋的內容非常廣泛 ,而且國內近年來已出版了大量與 R語言有關的書籍 ,哪些內容是初學者必備的知識 ?其次 ,如何處理本書與前一本書的關系 ,哪些內容需要保留 ,哪些知識又需要補充 ?再次 ,統(tǒng)計知識介紹到什么程度 ?R語言是進行統(tǒng)計分析的工具 ,如果本書 “只是講解 R”,是不可能做到的 .
R語言是一種自由軟件編程語言與操作環(huán)境 ,主要用于統(tǒng)計分析、繪圖、數據挖掘 .R本來是由新西蘭奧克蘭大學的 Ross Ihaka和 Robert Gentleman開發(fā)(也因此稱為 R),現在由 “R開發(fā)核心團隊 ”負責開發(fā) .雖然 R是主要用于統(tǒng)計分析的軟件 ,但也有人用作矩陣計算,其分析速度可媲美專用于矩陣計算的自由軟件 GNU Octave和商業(yè)軟件 MATLAB2 .
本書是 R語言的一本入門教材 ,它包括 R軟件下載與安裝、程序包的載入和基本的 R命令 ,這些都是學習 R所必備的內容 .為了避免同時講授統(tǒng)計知識和 R語言可能產生的困難,本書假定讀者對相關的統(tǒng)計知識有了一定的了解 .書中只是結合最基本的統(tǒng)計知識 ,介紹相關函數的使用方法 ,以及如何使用內置函數去解決統(tǒng)計中的問題 ,相關統(tǒng)計知識的介紹是為了更好地理解函數中相應參數的意義.
雖然 R是一款統(tǒng)計軟件 ,但它也涉及數值分析的相關內容 ,而且這些內容是統(tǒng)計計算中不可缺少的內容 .因此 ,本書用一章的篇幅對數值分析的部分內容作了簡要的介紹 .介紹它們的另一個目的是學習 R語言的編程 ,R與其他計算機語言一樣 ,是可以進行編程的 .學會編程可以擴展 R的使用范圍 ,這也是使用 R進行科學研究必備的條件 .R的另一個強大的功能是繪圖 ,本書也用一章的篇幅系統(tǒng)地介紹了 R語言的繪圖函數 ,以及繪圖參數的設置.
本書的每一章 ,基本上是針對一類 (統(tǒng)計 )問題設計的 ,討論的內容由淺入深、循序漸進.完成一章的學習后 ,基本上能完成相關內容的計算與分析 .雖然是一本入門教材 ,但了解 R的擴展功能還是必不可少的 ,本書以多元分布為例 ,介紹擴展包的下載與安裝、擴展函數的使用,為讀者學會下載和使用與自己學習和工作相關的擴展函數打下基礎.
本書的主要內容 :第 1章,R語言入門 .主要介紹 R的基本使用方法 ,如 R的下載與安裝;向量、矩陣、數組、列表、數據框等對象的特點 ,以及數據的讀寫、控制流和相應程序設計.第 2章,數值計算 .主要介紹與數值分析相關的部分內容 ,如非線性方程組求解、函數求極值、數據擬合與數值積分等 .第 3章,R語言繪圖 .主要介紹 R中的繪圖函數 ,如高、低水平繪圖函數 ,以及繪圖參數的設置 .第 4章,概率、分布與隨機模擬 .主要介紹 R中重要分 布函數的計算 ,以及隨機抽樣與隨機模擬的方法 .第 5章,假設檢驗 .主要介紹重要的參數檢驗 ,如 t檢驗、 F檢驗和重要的非參數檢驗 ,如秩檢驗、分布檢驗、列聯(lián)表檢驗 .第 6章,回歸分析 .主要介紹各種回歸方法 ,如線性回歸、穩(wěn)健回歸、非線性回歸和廣義線性回歸 .第 7章,多元統(tǒng)計分析 .介紹各種多元分析方法 ,如方差分析、判別分析、聚類分析、主成分分析、因子分析和典型相關分析 .第 8章,多元分布 .主要介紹多元正態(tài)分布函數和相應的檢驗方法 ,如均值向量的檢驗 ,以及相關程序包的下載 ,這部分內容是需要下載擴展程序包才能完成的.
本書所介紹的 R函數均以 R-2.15.2版本 1為基準 ,所有函數 (包括自編函數 )均通過測試,讀者如果需要書中例題的相關程序 ,以及例題和部分習題的數據文件 ,可以發(fā)送電子郵件向作者索取,郵件地址:xueyi@bjut.edu.cn.
本書是一本 R語言入門教材 ,適合于理工、經濟、管理、生物等專業(yè)的本科生、研究生 ,或者相關專業(yè)的技術人員學習 R軟件使用 ,可以作為 “統(tǒng)計計算 ”課程的教材或教學參考書,也可作為數學建模競賽培訓的輔導教材.
由于受編者水平所限 ,書中一定存在不足甚至錯誤之處 ,歡迎讀者不吝指正 ,作者的電子郵件地址是: xueyi@bjut.edu.cn (薛毅); chenliping@bjut.edu.cn (陳立萍).
編者
2014年 3月于北京工業(yè)大學
第1章R語言入門
1.1R語言簡介
1.1.1R軟件的下載與安裝
1.1.2初識R
1.1.3下拉式菜單與快捷方式
1.2向量
1.2.1基本運算
1.2.2數據對象
1.2.3向量賦值
1.2.4產生有規(guī)律的向量
1.2.5邏輯向量
1.2.6向量中的缺失數據
1.2.7字符型向量
1.2.8用vector函數生成向量
1.2.9復數向量
1.2.10向量的下標運算
1.2.11與數值向量有關的函數
1.3因子
1.3.1factor函數
1.3.2gl函數
1.3.3與因子有關的函數
1.4矩陣..
1.4.1矩陣的生成
1.4.2與矩陣運算有關的函數
1.4.3矩陣下標
1.5數組..
1.5.1數組的生成
1.5.2數組下標
1.5.3apply函數
1.6對象和它的模式與屬性
1.6.1固有屬性:mode和length
1.6.2修改對象的長度
1.6.3attributes和attr函數
1.6.4對象的class屬性
1.7列表
1.7.1列表的構造
1.7.2列表的修改
1.7.3返回值為列表的函數
1.8數據框
1.8.1數據框的生成
1.8.2數據框的引用
1.8.3attach函數
1.8.4with函數
1.8.5列表與數據框的編輯
1.8.6lapply函數和sapply函數
1.9讀、寫數據文件
1.9.1讀純文本文件
1.9.2讀取其他軟件格式的數據文件
1.9.3讀取Excel表格數據
1.9.4數據集的讀取
1.9.5寫數據文件
1.10控制流
1.10.1分支函數
1.10.2中止語句與空語句
1.10.3循環(huán)函數
1.11R程序設計
1.11.1函數定義
1.11.2定義新的二元運算
1.11.3有名參數與默認參數
1.11.4遞歸函數
1.11.5程序運行
1.11.6程序調試
第2章數值計算
2.1向量與矩陣的運算
2.1.1向量的四則運算
2.1.2向量的內積與外積
2.1.3矩陣的四則運算
2.1.4矩陣的函數運算
2.1.5求解線性方程組
2.1.6矩陣分解
2.2非線性方程(組)求根
2.2.1非線性方程求根
2.2.2求解非線性方程組
2.3求函數極值
2.3.1一元函數極值
2.3.2多元函數極值
2.4插值
2.4.1多項式插值
2.4.2分段線性插值
2.4.3分段Hermite插值
2.4.4三次樣條函數
2.5數據擬合
2.5.1最小二乘原理
2.5.2求解超定線性方程組的QR分解方法
2.5.3多項式擬合
2.6數值積分
2.6.1梯形求積公式
2.6.2Simpson求積公式
2.6.3integrate函數
第3章R語言繪圖
3.1高水平繪圖函數.
3.1.1基本繪圖函數--plot函數
3.1.2多組圖--pairs函數
3.1.3協(xié)同圖--coplot函數
3.1.4點圖--dotchart函數
3.1.5餅圖--pie函數
3.1.6條形圖--parplot函數
3.1.7直方圖--hist函數
3.1.8箱線圖--boxplot函數
3.1.9Q-Q圖--qqnorm函數
3.1.10三維透視圖--persp函數
3.1.11等值線--contour函數
3.2圖形參數
3.2.1高水平繪圖函數中的參數
3.2.2圖形參數的永久設置
3.2.3圖形參數的臨時設置
3.2.4圖形元素控制
3.3低水平圖形函數
3.3.1添加點、線、文字、符號或數學表達式
3.3.2添加直線、線段和圖例
3.3.3添加圖題、邊與盒子
3.3.4添加多邊形或圖形陰影
3.3.5交互圖形函數
3.4圖形參數(續(xù))
3.4.1坐標軸與坐標刻度
3.4.2圖形邊空
3.4.3多圖環(huán)境
3.5圖形設備
第4章概率、分布與隨機模擬
4.1組合數與概率計算
4.1.1生成組合方案
4.1.2生成組合數
4.1.3概率計算
4.2分布函數
4.2.1分布函數
4.2.2分位數
4.3常用的分布函數
4.3.1正態(tài)分布
4.3.2均勻分布
4.3.3指數分布
4.3.4二項分布
4.3.5Poisson分布
4.3.6χ2分布
4.3.7t分布
4.3.8F分布
4.3.9R的內置函數
4.4樣本統(tǒng)計量
4.4.1樣本均值
4.4.2樣本方差
4.4.3順序統(tǒng)計量
4.4.4中位數
4.4.5分位數
4.4.6樣本的k階矩
4.4.7偏度系數與峰度系數
4.4.8經驗分布函數
4.5隨機抽樣與隨機模擬
4.5.1隨機數的生成
4.5.2隨機抽樣
4.5.3隨機模擬
第5章假設檢驗
5.1假設檢驗的基本思想
5.1.1基本概念
5.1.2基本思想
5.1.3兩類錯誤
5.1.4P值
5.2重要的參數檢驗
5.2.1t檢驗
5.2.2F檢驗
5.2.3二項分布的近似檢驗
5.2.4二項分布的精確檢驗
5.2.5Poisson檢驗
5.2.6功效檢驗
5.3符號檢驗與秩檢驗
5.3.1符號檢驗
5.3.2秩檢驗與秩檢驗
5.3.3尺度參數檢驗
5.4分布檢驗
5.4.1Pearson擬合優(yōu)度χ2檢驗
5.4.2Kolmogorov-Smirnov檢驗
5.4.3正態(tài)性檢驗
5.5列聯(lián)表檢驗
5.5.1Pearsonχ2獨立性檢驗
5.5.2Fisher精確獨立性檢驗
5.5.3McNemar檢驗
5.5.4三維列聯(lián)表的條件獨立性檢驗
5.6相關性檢驗
5.6.1Pearson相關檢驗
5.6.2Spearman相關檢驗
5.6.3Kendall相關檢驗
5.6.4cor.test函數
5.7游程檢驗
第6章回歸分析
6.1線性回歸
6.1.1線性回歸模型
6.1.2線性回歸模型的計算
6.1.3預測區(qū)間與置信區(qū)間
6.1.4其他函數
6.2回歸診斷
6.2.1為什么要作回歸診斷
6.2.2殘差檢驗
6.2.3影響分析
6.3Box-Cox變換
6.4多重共線性
6.4.1多重共線性現象
6.4.2嶺估計
6.5逐步回歸
6.5.1“最優(yōu)”回歸方程的選擇
6.5.2逐步回歸的計算
6.6穩(wěn)健回歸
6.6.1穩(wěn)健回歸的基本概念
6.6.2穩(wěn)健回歸
6.6.3抗干擾回歸
6.7非線性回歸
6.7.1多項式回歸
6.7.2局部多項式回歸
6.7.3非線性回歸
6.8廣義線性回歸模型
6.8.1glm函數
6.8.2Logistic回歸模型
6.8.3Poisson分布族
6.8.4正態(tài)分布族
第7章多元統(tǒng)計分析
7.1方差分析
7.1.1方差分析的數學模型
7.1.2方差分析的計算
7.1.3多重均值檢驗
7.1.4與方差分析有關的函數
7.1.5方差分析的進一步討論
7.1.6秩檢驗
7.1.7協(xié)方差分析
7.2判別分析
7.2.1判別分析的數學模型
7.2.2判別分析的計算
7.3聚類分析
7.3.1距離和相似系數
7.3.2系統(tǒng)聚類法
7.3.3類個數的確定
7.3.4實例
7.3.5K均值聚類
7.4主成分分析
7.4.1主成分分析的數學模型
7.4.2主成分分析的計算
7.4.3主成分分析的應用
7.5因子分析
7.5.1因子分析的數學模型
7.5.2因子分析函數
7.5.3因子分析的計算
7.6典型相關分析
7.6.1典型相關分析的數學模型
7.6.2典型相關分析的計算
第8章多元分布
8.1基本概念
8.1.1多元分布函數與概率密度函數
8.1.2多元正態(tài)分布
8.1.3與多元正態(tài)分布有關的R函數
8.2樣本統(tǒng)計量及抽樣分布
8.2.1樣本統(tǒng)計量
8.2.2抽樣分布
8.3多元正態(tài)總體均值向量的檢驗
8.3.1單個總體均值向量的檢驗
8.3.2兩個總體均值向量的檢驗
8.3.3R中的均值檢驗函數
8.4擴展包中的其他函數
8.4.1多元t分布
8.4.2多元非參數檢驗
8.4.3多元正態(tài)性檢驗
索引
參考文獻