R語言經(jīng)典實(shí)例(原書第2版)
定 價(jià):139 元
叢書名:O'Reilly精品圖書系列
《R語言經(jīng)典實(shí)例(原書第2版)》的第2版涵蓋了277個(gè)R語言實(shí)用方法,可以幫助你快速而有效地使用R進(jìn)行數(shù)據(jù)分析。R語言給我們提供了統(tǒng)計(jì)分析的一切工具,但是R本身的結(jié)構(gòu)可能不容易掌握。 《R語言經(jīng)典實(shí)例(原書第2版)》提供的面向任務(wù)的R語言實(shí)用方法涉及從基本的分析任務(wù)到輸入和輸出、常用統(tǒng)計(jì)分析、繪圖、線性回歸等內(nèi)容,它們可以讓你馬上應(yīng)用R高效地工作。 每一個(gè)R語言方法都專注于一個(gè)特定的問題,隨后的討論則對(duì)問題的解決方案給出解釋,并闡釋該方法的工作機(jī)理。 對(duì)于R的初級(jí)用戶,《R語言經(jīng)典實(shí)例(原書第2版)》將幫助你步入R的殿室;對(duì)于R的中級(jí)用戶,《R語言經(jīng)典實(shí)例(原書第2版)》將加深你對(duì)R的理解并拓展你的視野。 通過《R語言經(jīng)典實(shí)例(原書第2版)》,可以使你的分析工作順利完成并學(xué)習(xí)更多R語言知識(shí)。 《R語言經(jīng)典實(shí)例(原書第2版)》主要內(nèi)容: 建立向量、處理變量,以及執(zhí)行其他基本函數(shù)。 簡化數(shù)據(jù)的輸入和輸出。 處理矩陣、列表、因子和數(shù)據(jù)框等數(shù)據(jù)結(jié)構(gòu)。 分析概率、概率分布和隨機(jī)變量。 計(jì)算統(tǒng)計(jì)量和置信區(qū)間,進(jìn)行統(tǒng)計(jì)檢驗(yàn)。 創(chuàng)建各種圖形。 構(gòu)建線性回歸和方差分析(ANOVA)等統(tǒng)計(jì)模型。 探索高級(jí)統(tǒng)計(jì)技術(shù),如聚類分析等。
本書通過270多個(gè)應(yīng)用實(shí)例,闡明了如何用R快速、有效地進(jìn)行數(shù)據(jù)分析。主要內(nèi)容包括軟件安裝和幫助、基礎(chǔ)知識(shí)、軟件導(dǎo)覽、輸入與輸出、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)轉(zhuǎn)換、字符串和日期、統(tǒng)計(jì)概論、圖形、線性回歸和方差分析、實(shí)用技巧、高級(jí)數(shù)值分析和統(tǒng)計(jì)方法、時(shí)間序列分析等。R語言功能強(qiáng)大,可以幫你處理一切統(tǒng)計(jì)工作,但是其結(jié)構(gòu)卻不容易掌握,本書通過簡潔的、面向任務(wù)的實(shí)例,可以幫助讀者快速利用R解決實(shí)際問題。
R軟件是進(jìn)行統(tǒng)計(jì)分析、繪圖和統(tǒng)計(jì)編程的強(qiáng)大工具。現(xiàn)在成千上萬的人用它來進(jìn)行日常的重要統(tǒng)計(jì)分析。R是一個(gè)自由、開源的軟件系統(tǒng),它是許多聰明、勤奮工作的人的集體工作成果。R有超過10 000個(gè)軟件包插件,是其他商業(yè)統(tǒng)計(jì)軟件包的強(qiáng)勁競(jìng)爭對(duì)手。 但是,剛開始使用R軟件時(shí)可能感到無從下手。對(duì)許多人來說,即便是一些基本的任務(wù),R的實(shí)現(xiàn)也不是很明顯。當(dāng)了解了R的使用方法后,簡單的問題自然能得心應(yīng)手地解決,但學(xué)習(xí)“如何”使用R的過程有時(shí)會(huì)讓人感到發(fā)狂。 本書介紹了如何使用R軟件的一些方法,其中每一個(gè)方法對(duì)應(yīng)解決某個(gè)特定的問題。介紹這些方法的途徑為:首先給出待解決的問題,然后給出解決方案的簡單介紹,之后再給出對(duì)解決方案的討論,深入剖析解決方案,給出該方案的原理。我們知道這些方法實(shí)用,也知道這些方法可行,因?yàn)槲覀円苍谑褂盟鼈儭?這些方法所涉及的范圍較為廣泛。首先,從基本的任務(wù)開始介紹,然后介紹數(shù)據(jù)的輸入和輸出、基本統(tǒng)計(jì)、圖形以及線性回歸。與R有關(guān)的工作都或多或少地涉及本書介紹的方法。 通過學(xué)習(xí)本書,初學(xué)者能快速了解R并上手。如果你對(duì)R軟件有一定的了解,那么本書也能幫助你鞏固已學(xué)的知識(shí),拓寬你的思維(例如,“下一次我應(yīng)該怎么使用Kolmogorov-Smirnov檢驗(yàn)”)。 從嚴(yán)格意義上來說,本書并不是一本關(guān)于R軟件的教程,但你將會(huì)從中學(xué)習(xí)到許多R軟件的應(yīng)用技巧。本書也不是一本關(guān)于R的參考手冊(cè),但它確實(shí)包含了許多實(shí)用的內(nèi)容。本書更不是一個(gè)R軟件的編程指南,但書中很多方法都可以應(yīng)用到R的編程腳本中。 最后,本書不是統(tǒng)計(jì)學(xué)理論的參考書。本書假設(shè)讀者對(duì)統(tǒng)計(jì)理論和方法有一定的了解,想知道的是如何在R軟件中實(shí)現(xiàn)。 方法 本書介紹的大部分方法,都是由一兩個(gè)R函數(shù)或命令來解決某一特定問題。需要注意的是,書中不會(huì)對(duì)某一函數(shù)的全部能力進(jìn)行詳細(xì)解釋,而是僅介紹那些與需要解決的問題有關(guān)的函數(shù)能力。R軟件中幾乎所有的函數(shù)所具備的能力都遠(yuǎn)遠(yuǎn)不止本書中所介紹的,其中有的函數(shù)具有更強(qiáng)大的能力。因此強(qiáng)烈建議讀者閱讀這些函數(shù)的幫助頁面,你可能會(huì)從中得到不少收獲。 每個(gè)方法都為讀者提供了解決某個(gè)問題的一條途徑。當(dāng)然對(duì)于每個(gè)問題有可能存在多個(gè)正確的解決方案。在這種情況下,我們一般會(huì)選擇最為簡單的方法。對(duì)于書中給出的任何問題,你自己或許可以找到其他一些解決方案。本書著重介紹解決問題的方法,類似“菜譜”書,而不是R軟件的大全書。 尤其是,R軟件有大量的添加包,這幾千個(gè)R添加包都可以從網(wǎng)絡(luò)下載。這些包中含有許多替代算法和統(tǒng)計(jì)方法。本書側(cè)重于R基礎(chǔ)發(fā)布版所帶的核心功能,以及幾個(gè)重要的放在一起統(tǒng)稱為tidyverse的添加包。 tidyverse最簡潔的定義來自Hadley Wickham—tidyverse的創(chuàng)始人和它的核心維護(hù)者之一: “tidyverse是一組協(xié)調(diào)工作的添加包,它們共享通用數(shù)據(jù)表達(dá)式和API設(shè)計(jì)。tidyverse包旨在使其易于通過單個(gè)命令安裝和加載核心包。了解tidyverse中的所有添加包以及它們?nèi)绾谓M合在一起的最佳方式是閱讀R for Data Science(http://r4ds.had.co.nz)一書。” 對(duì)術(shù)語的說明 每個(gè)方法旨在迅速地解決問題,而非長篇大論地進(jìn)行論述。因此我們有時(shí)候會(huì)采用一些術(shù)語來簡化相關(guān)內(nèi)容的解釋,這些術(shù)語有時(shí)候可能不精確,但是正確的。比如,術(shù)語泛型函數(shù)。我們把函數(shù)print(x)和plot(x)稱為泛型函數(shù),原因是它們能適當(dāng)?shù)靥幚矶喾N輸入?yún)?shù)x。計(jì)算機(jī)科學(xué)家可能會(huì)質(zhì)疑這一術(shù)語,因?yàn)閲?yán)格來說這些都不是簡單的“函數(shù)”,它們是多態(tài)方法并且動(dòng)態(tài)調(diào)度。但是,如果我們仔細(xì)地精確定義所有這樣的技術(shù)細(xì)節(jié),那么關(guān)鍵的解決方案將會(huì)埋沒于這些細(xì)枝末節(jié)的技術(shù)問題中。所以為了便于閱讀,我們就將它們稱為函數(shù)。 另一個(gè)例子是統(tǒng)計(jì)學(xué)中的假設(shè)檢驗(yàn)術(shù)語。若使用概率論的嚴(yán)格定義,就會(huì)使讀者難以清晰理解這些檢驗(yàn)的實(shí)際應(yīng)用,所以我們以更通俗的語言來描述各個(gè)統(tǒng)計(jì)檢驗(yàn)。更多有關(guān)假設(shè)檢驗(yàn)方法的細(xì)節(jié),請(qǐng)查看第9章的簡介部分。 我們的目標(biāo)是用通俗易懂而非嚴(yán)格的正式語言,讓R軟件能被更多的讀者所理解和接受。因此希望各個(gè)領(lǐng)域的專家對(duì)于我們所給出的某些并不嚴(yán)謹(jǐn)?shù)男g(shù)語與定義予以諒解。 軟件及平臺(tái)說明 雖然R軟件時(shí)常進(jìn)行有計(jì)劃的版本更新,但其語言定義和核心實(shí)現(xiàn)是穩(wěn)定的。本書所介紹的方法適用于基礎(chǔ)發(fā)布版的任何最新版本。 有些方法對(duì)于操作平臺(tái)有特殊的要求,我們會(huì)在文中對(duì)其加以標(biāo)注,這些方法大多數(shù)是一些軟件本身的問題,如程序的安裝和配置。據(jù)我們所知,書中的所有其他方法在R的三個(gè)主要平臺(tái)(即Windows、macOS和Linux/Unix)上都能運(yùn)行。 其他資源 如果你想進(jìn)行更深入的閱讀,下面是一些進(jìn)一步閱讀的建議。 網(wǎng)絡(luò) R項(xiàng)目網(wǎng)站(http://www.r-project.org)匯集了所有R軟件的相關(guān)資源,從中可以下載R程序代碼、R添加包、文檔、源代碼等。 除了R項(xiàng)目網(wǎng)站以外,我們建議使用一個(gè)針對(duì)R軟件的搜索引擎,比如Sasha Goodman開發(fā)的RSeek搜索引擎(http://rseek.org),也可以使用谷歌這樣的通用搜索引擎,但在搜索“R”關(guān)鍵詞時(shí)可能會(huì)得到許多無關(guān)的搜索結(jié)果。更多有關(guān)網(wǎng)絡(luò)搜索的細(xì)節(jié)參見1.11節(jié)。 瀏覽博客也是一種學(xué)習(xí)R軟件和
J. D. Long在紐約市的Renaissance Re公司工作。他是Python、R和AWS的狂熱用戶,喜歡使用各種專業(yè)術(shù)語,并且經(jīng)常在R會(huì)議上發(fā)表演講。他是芝加哥R User Group的創(chuàng)始人。
前言1 第1章 R入門和獲得幫助9 11 下載和安裝R軟件10 12 安裝RStudio12 13 開始運(yùn)行RStudio13 14 輸入R命令14 15 退出RStudio16 16 中斷R正在運(yùn)行的程序17 17 查看幫助文檔18 18 獲取函數(shù)的幫助文檔20 19 搜索幫助文檔22 110 查看R添加包幫助信息23 111 通過網(wǎng)絡(luò)獲取幫助24 112 尋找相關(guān)函數(shù)與添加包27 113 搜索郵件列表28 114 向Stack Overflow或社區(qū)的其他網(wǎng)站提交問題29 第2章 基礎(chǔ)知識(shí)32 21 在屏幕上顯示內(nèi)容32 22 設(shè)定變量34 23 列出所有變量35 24 刪除變量37 25 生成向量38 26 計(jì)算基本統(tǒng)計(jì)量40 27 生成數(shù)列42 28 向量比較44 29 選取向量中的元素45 210 向量的計(jì)算48 211 運(yùn)算符優(yōu)先級(jí)問題50 212 減少輸入,得到更多命令52 213 創(chuàng)建函數(shù)調(diào)用的管道53 214 避免常見錯(cuò)誤56 第3章 R軟件導(dǎo)覽61 31 獲取和設(shè)定工作目錄61 32 創(chuàng)建一個(gè)新的RStudio項(xiàng)目62 33 保存工作空間64 34 查看歷史命令記錄65 35 保存先前命令產(chǎn)生的結(jié)果66 36 通過搜索路徑顯示已加載的軟件包67 37 查看已安裝的R包列表68 38 使用R包中的函數(shù)69 39 使用R的內(nèi)置數(shù)據(jù)集71 310 從CRAN網(wǎng)站安裝R包72 311 從GitHub網(wǎng)站安裝R包74 312 設(shè)定或改變默認(rèn)CRAN網(wǎng)站鏡像75 313 運(yùn)行腳本76 314 批量運(yùn)行R代碼77 315 找到R的主目錄80 316 R的自定義81 317 在云端使用R和RStudio84 第4章 輸入與輸出86 41 使用鍵盤輸入數(shù)據(jù)86 42 顯示更少的位數(shù)(或更多的位數(shù))87 43 將輸出結(jié)果重定向到文件89 44 顯示文件列表90 45 解決無法在Windows中打開文件的問題92 46 讀取固定寬度的數(shù)據(jù)記錄93 47 讀取表格數(shù)據(jù)文件96 48 讀取CSV文件99 49 寫入CSV文件101 410 從網(wǎng)絡(luò)中讀取表格或CSV格式數(shù)據(jù)103 411 從Excel文件讀取數(shù)據(jù)104 412 將數(shù)據(jù)框?qū)懭隕xcel文件105 413 從SAS文件讀取數(shù)據(jù)108 414 讀取HTML表格數(shù)據(jù)109 415 讀取復(fù)雜格式數(shù)據(jù)文件112 416 讀取MySQL數(shù)據(jù)庫中的數(shù)據(jù)116 417 通過dbplyr訪問數(shù)據(jù)庫118 418 保存和傳送對(duì)象120 第5章 數(shù)據(jù)結(jié)構(gòu)123 51 對(duì)向量添加數(shù)據(jù)131 52 在向量中插入數(shù)據(jù)132 53 理解循環(huán)規(guī)則133 54 構(gòu)建因子134 55 將多個(gè)向量合并成單個(gè)向量以及一個(gè)平行因子136 56 創(chuàng)建列表137 57 根據(jù)位置選定列表元素139 58 根據(jù)名稱選定列表元素141 59 構(gòu)建一個(gè)名稱/值關(guān)聯(lián)表142 510 從列表中移除元素144 511 將列表轉(zhuǎn)換為向量145 512 從列表中移除空值元素146 513 使用條件來移除列表元素147 514 矩陣初始化149 515 執(zhí)行矩陣運(yùn)算150 516 將描述性名稱賦給矩陣的行和列151 517 從矩陣中選定一行或一列152 518 用列數(shù)據(jù)初始化數(shù)據(jù)框153 519 用行數(shù)據(jù)初始化數(shù)據(jù)框155 520 對(duì)數(shù)據(jù)框添加行157 521 根據(jù)位置選擇數(shù)據(jù)框的列159 522 根據(jù)名稱選擇數(shù)據(jù)框的列163 523 修改數(shù)據(jù)框的列名165 524 從數(shù)據(jù)框中移除NA值166 525 根據(jù)名稱排除列167 526 合并兩個(gè)數(shù)據(jù)框168 527 根據(jù)共有列合并數(shù)據(jù)框169 528 基本數(shù)據(jù)類型之間的轉(zhuǎn)換171 529 從一種結(jié)構(gòu)化數(shù)據(jù)類型轉(zhuǎn)換到另一種數(shù)據(jù)類型172 第6章 數(shù)據(jù)轉(zhuǎn)換175 61 將函數(shù)應(yīng)用于列表的每個(gè)元素175 62 將函數(shù)應(yīng)用于數(shù)據(jù)框的每一行178 63 將函數(shù)應(yīng)用于矩陣的每一行179 64 將函數(shù)應(yīng)用于每一列180 65 將函數(shù)應(yīng)用于平行向量或列表182 66 將函數(shù)應(yīng)用于一組數(shù)據(jù)184 67 基于條件生成一個(gè)新列185 第7章 字符串和日期187 71 獲取字符串長度189 72 連接字符串190 73 提取子串191 74 根據(jù)分隔符分割字符串192 75 替代子串193 76 生成字符串的所有成對(duì)組合194 77 得到當(dāng)前日期196 78 轉(zhuǎn)換字符串為日期196 79 轉(zhuǎn)換日期為字符串197 710 轉(zhuǎn)換年、月、日為日期198 711 得到儒略日期200 712 提取日期的一部分200 713 創(chuàng)建日期序列202 第8章 概率204 81 計(jì)算組合數(shù)206 82 生成組合206 83 生成隨機(jī)數(shù)207 84 生成可再生的隨機(jī)數(shù)209 85 生成隨機(jī)樣本210 86 生成隨機(jī)序列212 87 隨機(jī)排列向量213 88 計(jì)算離散分布的概率213 89 計(jì)算連續(xù)分布的概率215 810 轉(zhuǎn)換概率為分位數(shù)216 811 繪制密度函數(shù)218 第9章 統(tǒng)計(jì)概論222 91 數(shù)據(jù)的匯總224 92 計(jì)算相對(duì)頻數(shù)226 93 因子數(shù)據(jù)的表格和列聯(lián)表創(chuàng)建227 94 檢驗(yàn)分類變量獨(dú)立性228 95 計(jì)算數(shù)據(jù)集的百分位數(shù)(和四分位數(shù))229 96 求分位數(shù)的逆230 97 數(shù)據(jù)轉(zhuǎn)換為z分?jǐn)?shù)231 98 檢驗(yàn)樣本均值(t檢驗(yàn))232 99 均值的置信區(qū)間233 910 中位數(shù)的置信區(qū)間234 911 檢驗(yàn)樣本比例235 912 比例的置信區(qū)間236 913 檢驗(yàn)正態(tài)性237 914 游程檢驗(yàn)239 915 比較兩個(gè)樣本的均值240 916 比較兩個(gè)非參數(shù)樣本的位置242 917 檢驗(yàn)相關(guān)系數(shù)的顯著性243 918 檢驗(yàn)組的等比例244 919 組均值間成對(duì)比較246 920 檢驗(yàn)兩樣本的相同分布247 第10章 圖形249 101 創(chuàng)建散點(diǎn)圖252 102 添加標(biāo)題和標(biāo)簽254 103 添加(或去除)網(wǎng)格255 104 給ggplot圖形添加主題258 105 創(chuàng)建多組散點(diǎn)圖262 106 添加(或去除)圖例263 107 繪制散點(diǎn)圖