序: 這篇文檔內(nèi)容的來(lái)源多樣,既有來(lái)自于 R官方文檔(包括 R intro,,R data,,R admin),也有來(lái) 自于互聯(lián)網(wǎng)的 contributed documents,;還有若干來(lái)自于 Capital Of Statistics 論壇的討論問(wèn)題,。 本文檔的目的是為具有一定統(tǒng)計(jì)(數(shù)學(xué))背景的 R 軟件初學(xué)者提供一個(gè)快速認(rèn)識(shí) R 軟件的平 臺(tái),如果你無(wú)此背景,,可能會(huì)對(duì)其中的若干表達(dá)存在疑問(wèn),。這篇文檔重點(diǎn)不在統(tǒng)計(jì)方法上,因此所 列問(wèn)題不可能詳盡到統(tǒng)計(jì)學(xué)的每個(gè)知識(shí)點(diǎn),。 R 是一個(gè)很龐大的體系,,在 CRAN 的 Task Views 上可以清楚地看到貝葉斯推斷、聚類(lèi)分析,、 機(jī)器學(xué)習(xí),、空間統(tǒng)計(jì)、穩(wěn)健統(tǒng)計(jì)等方法的介紹。而這些方法又通過(guò)相應(yīng)的 R Packages 擴(kuò)展,,可以說(shuō) 學(xué)習(xí) R 是一件沒(méi)有盡頭的事情,。 如果你的英文閱讀沒(méi)問(wèn)題,那么精讀一本關(guān)于 R 的原版書(shū)籍也是一個(gè)不錯(cuò)的選擇,,但這個(gè)開(kāi) 頭常常讓人很頭痛,。希望這份 37 頁(yè)的文檔,對(duì)你認(rèn)識(shí),、學(xué)習(xí) R 是個(gè)不錯(cuò)的幫助,。 劉思喆1 June 25, 2008 致謝: abel,cran,rtist,Xie Yihui,zhangv . . . 1sunbjt §A 前言 1. R 是做什么的? R是一個(gè)有著統(tǒng)計(jì)分析功能及強(qiáng)大作圖功能的軟件系統(tǒng),,是由奧克蘭大學(xué)統(tǒng)計(jì)學(xué)系的 Ross Ihaka和 Robert Gentleman共同創(chuàng)立,。由于 R受 Becker, Chambers & Wilks創(chuàng)立的 S和 Sussman的 Scheme 兩種語(yǔ)言的影響,所以 R 看起來(lái)和 S 語(yǔ)言非常相似,。 2. 在哪里可以下載 R 的安裝程序 在 R 的官方網(wǎng)址上,,選擇網(wǎng)站鏡像 http://cran./mirrors.html,比如 UC Berkeley下載軟件副本,。R擁有在 Linux,,MacOS X,Windows平臺(tái)下的各個(gè)版本,,如果是Windows 用戶,,進(jìn)入鏡像網(wǎng)站,選擇 Windows (95 and later) ,,進(jìn)入 base,,下載 R-x.x.x-win32.exe,。 3. 為什么 R 叫做 R 部分是因?yàn)閮晌?R 的作者 (Robert Gentleman 和 Ross Ihaka) 的姓名,,部分是受到了貝爾實(shí)驗(yàn)室 S 語(yǔ)言的影響(稱(chēng)其為 S 語(yǔ)言的方言)。 4. CRAN 是什么意思,? CRAN 是 Comprehensive R Archive N etwork 的簡(jiǎn)寫(xiě),,是擁有同一資料,包括 R 的發(fā)布版本,,包,, 文檔和源代碼的網(wǎng)絡(luò)集合。 5. 我是新手,,我如何開(kāi)始學(xué)習(xí) R R的官方網(wǎng)頁(yè)擁有大量英文學(xué)習(xí)資源,,還可以參考 http://cran./other-docs. html 上的中文翻譯文檔。統(tǒng)計(jì)之都 bbs 是一個(gè)不錯(cuò)的學(xué)習(xí) R 的中文網(wǎng)站,,這個(gè)論壇上你可以找到 大量學(xué)習(xí)資料或直接提出問(wèn)題同大家探討,。 6. 初學(xué)者閱讀 R 自行安裝的 R-intro 就可以了么? R-intro 確實(shí)是官方文檔中最基礎(chǔ)的,但它不是從 R 軟件應(yīng)用角度講的,,故并不適合于 R 初學(xué)者,。 可以參考 R-intro 中數(shù)據(jù)類(lèi)型、結(jié)構(gòu)部分,,作為基礎(chǔ)學(xué)習(xí),。 7. 能列舉一些 R 的經(jīng)典書(shū)目么? 正如大家應(yīng)用 R 的過(guò)程中看到,,大部分經(jīng)典的 R 書(shū)籍都為英文: Modern Applied Statistics with S(Venables and Ripley) The New S Language: A Programming Environment for Data Analysis and Graphics —(Richard A. Becker,,John M. Chambers,Allan R.Wilks) A Handbook of Statistical Analysis Using R(Brian S. Everitt,,Torsten Hothorn) Data Analysis and Graphics using R(Maindonald and Braun) Introductory Statistics with R(Dalgaard) 8. R 需要編程么,? 2 不!大多數(shù)時(shí)候不需要,,因?yàn)?R 有很多函數(shù)和包,,而且每天都在增加,你用的一般方法和函數(shù)都可 以在 R 自帶包中找到,。 9. 能否簡(jiǎn)單舉一個(gè) R 的例子,? 生成 100 個(gè)高斯(正態(tài))分布隨機(jī)數(shù),并對(duì)這 100 個(gè)數(shù)進(jìn)行特征描述,。 1 x rnorm (100 ,mean = 5 , sd = 0 . 1 ) mean(x ) 3 sd (x ) summary(x ) 當(dāng)然你還可以使用 demo()函數(shù),,比如 R 漂亮的圖形演示: demo( graph i c s ) 10. R 需要注冊(cè)費(fèi)用么? 不需要,!R 是一款在 GNU General Public License (GPL) 下發(fā)布的開(kāi)源軟件,,只是很少一部分包不 能用于商業(yè)用途。不知道為什么有些費(fèi)時(shí),、費(fèi)力且價(jià)格不菲的商業(yè)統(tǒng)計(jì)軟件,,居然還在生存? 11. 為什么 R 不能使用超過(guò) 50% 的 CPU,? 這是 Windows 下任務(wù)管理器的誤導(dǎo),,它將多個(gè) CPU 看作是單個(gè) CPU,同時(shí)計(jì)算使用比例,。而 R 是單線程計(jì)算軟件,,它不能同時(shí)使用 2 個(gè)以上的 CPU。當(dāng)你的計(jì)算機(jī)應(yīng)用的是雙核技術(shù),,你會(huì)發(fā) 現(xiàn) CPU 應(yīng)用會(huì)定格在 50% 上,。 12. 如何在發(fā)行出版物里引用 R 如果你是 LATEX 用戶,可以在 R 中使用命令 citation() 得到可供 BibTEX 使用的內(nèi)容,;或者是某一 個(gè)包的引用 1 c i t a t i o n ( package = ’package’) §B 基礎(chǔ)知識(shí) 13. 如何獲得幫助,? R 的幫助系統(tǒng)非常強(qiáng)大,,可以直接使用 “?topic” 或 help(topic)來(lái)獲取 topic 的幫助信息;也可使用 help.search(”topic”) 來(lái)搜索幫助系統(tǒng),。 如果你只知道函數(shù)的部分名稱(chēng),,那么可以使用 apropos(”tab”) 來(lái)搜索得到載入內(nèi)存所有包含 tab 字段的函數(shù)。 如果還沒(méi)有得到需要的資料,,還有 R Site Search:http://finzi.psych./search. html,,等價(jià)于在 R 平臺(tái)上使用 RSiteSearch() 函數(shù)。 14. R 可使用的最大內(nèi)存是多少,? 3 R 經(jīng)常因?yàn)檫^(guò)分消耗內(nèi)存而受到指責(zé),,而事實(shí)也確是如此。不過(guò)還好,,我們使用的數(shù)據(jù)量通常不是 很大,,通常 R 都可以處理。特定條件下我們可能需要更大的內(nèi)存來(lái)做運(yùn)算,,提供兩種途徑來(lái)設(shè)定 (增大)內(nèi)存: · 啟動(dòng) R 進(jìn)程前,,增加 R 啟動(dòng)參數(shù)。在 CMD 環(huán)境下,,運(yùn)行增加參數(shù)的 Rterm: 1 r ??max?mem?s i z e=1Gb 或通過(guò)添加 RHOME/bin 至系統(tǒng)環(huán)境中,,直接在 “運(yùn)行” 中運(yùn)行2 1 r gu i ??max?mem?s i z e=1Gb · 啟動(dòng) R 進(jìn)程后,通過(guò) memory.limit 函數(shù)增大 R 進(jìn)程的內(nèi)存限制,。 R 的工作內(nèi)存大小的設(shè)定值為 32Mb 到 3Gb 間的任意數(shù)值,。但需要提示的是:Windows 平臺(tái)可用 最大有效內(nèi)存為 2Gb,也就是說(shuō),,實(shí)際上 R 的工作內(nèi)存區(qū)間為 32Mb 至 2Gb,。 15. 為什么 help.search() 搜索不能使用? 基于瀏覽器的搜索引擎要求正確安裝完整版 Java,,且 Java 和 Javascript 須嵌入瀏覽器,。 16. R 支持中文么? 支持,,但不好,!在 R 中,,大部分包的作者都是以英文為母語(yǔ)的,,不會(huì)對(duì)中文字符考慮太多,故建議 使用全英文環(huán)境,。 17. R 支持自動(dòng)補(bǔ)全(Tab completion)么,? 支持!在 2.5.0 版本中,,R 引入了命令自動(dòng)補(bǔ)全功能,,使用 Tab 鍵能自動(dòng)補(bǔ)全 R 命令;或使用第二 次 Tab 后,返回所有可能的補(bǔ)全命令列表,。 18. 如何清除變量,? 清除單個(gè)變量使用 rm() 函數(shù),清除內(nèi)存中所有的變量: 1 rm( l i s t = l s ( a l l = TRUE) ) 19. 如何更改小數(shù)點(diǎn)后顯示數(shù)字位數(shù),? options(digits = ) ,,digits 后面的參數(shù)為 1 至 22 的數(shù)字,默認(rèn)為 7,。options 函數(shù)還可以改變很多全 局選項(xiàng),,如更改提示符 (prompt) ,是否顯示錯(cuò)誤信息 (show.error.messages) 等,。 20. 如何調(diào)用系統(tǒng)內(nèi)的程序,? 使用 system() 函數(shù)或用 shell.exec() 調(diào)用相應(yīng)程序來(lái)打開(kāi)文件: 1 # go t o t h e c r a n system ( paste (’'C:/Program Files/Internet Explorer/iexplore.exe'’ , 2同樣支持 Rterm 4 3 ’cran.’ ) , wait = FALSE) # i n v o k e t h e n o t e p a d 5 system ('notepad') s h e l l . exec ('C:/WINDOWS/clock') 21. Windows 下升級(jí) R ,但不想重裝 packages ,? 在其他目錄下安裝 R,,再將舊版本保留的 library目錄下的文件拷貝至新版本 library目錄下,然后 update.packages() ,;或卸載 R ,,把 R 裝到舊的目錄下,然后 update.packages(),。 22. 如何卸載已安裝的 packages,? 參考 remove . packages ( c ('pkg1' ,'pkg2' ) , 2 l i b = f i l e . path ('path' , 'to' , 'library' ) ) 23. R 的工作目錄在哪里? 一般的,,Windows XP 下的 R 工作目錄在 C:\Documents and Se t t i n g s \username 或者使用 getwd() 命令獲得 R 的工作目錄 (Working Directory),,使用 setwd() 設(shè)置工作目錄位置。 24. 我怎樣保存自己的工作,? 使用 save.image() 函數(shù),。它將在 R 的起始目錄保存記憶區(qū)(working space)至.RData 文件;或者使 用 save(..., file = ) 保存需要保存的 R 對(duì)象,。 25. R 如何安裝包,? 通過(guò)選擇下載鏡像,R 可以自動(dòng)安裝未安裝在本地的包,,當(dāng)然也可以從鏡像網(wǎng)站下載可用的包,,直 接本地安裝3。 26. library() 的逆向操作是什么,? 當(dāng)加載包后,,需要分離 R 同包時(shí),可以使用 1 detach ('package:pkg') 27. Library 和 Package 有什么區(qū)別,? 這兩個(gè)概念的確容易混淆,,因?yàn)?R 中加載 Package 的命令是 Library,!Library 是一個(gè)目錄,可能 包含一個(gè)或多個(gè) Package,;而 Package 是包含函數(shù),、數(shù)據(jù)、手冊(cè)的一個(gè)集合,,屬于某個(gè) Library,,即 (Windows 下)的 “*.zip” 文件。 28. 如何得到加載 Package 的列表,? 3R 有 Unix,、Mac、Windows 三個(gè)版本,,注意包也分別對(duì)應(yīng)三個(gè)版本 5 search() 函數(shù)返回當(dāng)前加載的包的情況,,使用 1 . packages ( a l l . a v a i l a b l e = TRUE) 命令獲得本地安裝的包列表。 當(dāng) R 啟動(dòng)后,,R 在內(nèi)存中會(huì)自動(dòng)加載若干 Package: R 初始狀態(tài)載入包列表 包 描述 stats 常用統(tǒng)計(jì)函數(shù) graphics 基礎(chǔ)繪圖函數(shù) grDevices 基礎(chǔ)或 grid 圖形設(shè)備 utils R 工具函數(shù) datasets 基礎(chǔ)數(shù)據(jù)集 methods 用于 R 對(duì)象和編程工具的方法和類(lèi)的定義 base 基礎(chǔ)函數(shù) 29. 如何使用 R 內(nèi)置的數(shù)據(jù)集,? R 在 datasets 包中共提供了 100 個(gè)可以使用的數(shù)據(jù)集,這些數(shù)據(jù)集都可以通過(guò) data() 函數(shù)加載入 內(nèi)存,。 1 dim( data ( ) $ r e s u l t s ) data ( ) $ r e s u l t s [ , 4 ] 30. R 的數(shù)據(jù)類(lèi)型有幾種,? R(S 語(yǔ)言)沒(méi)有標(biāo)量,它通過(guò)使用各種類(lèi)型的向量來(lái)存儲(chǔ)數(shù)據(jù),。常用的數(shù)據(jù)類(lèi)型(class)有: 常用數(shù)據(jù)類(lèi)型 類(lèi)型 說(shuō)明 1 字符(charactor) 它們常常被引號(hào)包圍 2 數(shù)字(numeric) 實(shí)數(shù)向量 3 整數(shù)(integer) 整數(shù)向量 4 邏輯(logical) 邏輯向量(TRUE=T,、FALSE=F) 5 復(fù)數(shù)(complex) 復(fù)數(shù)a 6 列表(list) S 對(duì)象的向量 7 因子(factor) 常用于標(biāo)記樣本 a參考第 15 頁(yè) “復(fù)數(shù)計(jì)算” 在 R(S)語(yǔ)言中,有一點(diǎn)要牢記: Everything in S is an object; Every object is S has a class. 31. data frame 是什么,? 6 data frame(數(shù)據(jù)框)可以理解是一個(gè)松散的數(shù)據(jù)集,。它可以是由不同類(lèi)型的列(數(shù)字、因子,、字符 等)組成的類(lèi)矩陣(matrix-like),。 32. 如何得到函數(shù)的代碼? 通常情況你只需要在 R 平臺(tái)下寫(xiě)出你需要查看的函數(shù)名,,回車(chē)即可,。比如: d i s t 但有時(shí)候這個(gè)函數(shù)可能是一個(gè)類(lèi)函數(shù)(Generic Function),上面的方法就需要稍稍改進(jìn)一下:先使 用 methods() 函數(shù)來(lái)查看這個(gè)類(lèi)函數(shù)的列表,,找到具體需要的函數(shù)4 ,,寫(xiě)出來(lái),回車(chē) — 問(wèn)題解決,。 1 summary # I t i s a g e n e r i c f u n c i t o n methods ( summary) # l i s t o f t h e S 3 m e t h o d s 3 summary . lm # maybe y o u w a n t t o know t h e l i n e a r m o d e l s ’ s s umma r y 如果要究根問(wèn)底,,可以去下載源代碼壓縮包(*.tar.gz,,比如 R-2.5.1.tar.gz) 33. 我想查看一個(gè)矩陣的前(后)幾行,,怎么辦,? 可以使用 head() 或 tail() 函數(shù)。 1 head (CO2) 這兩個(gè)函數(shù)是類(lèi)函數(shù),,它們可以應(yīng)用于向量,、矩陣、數(shù)據(jù)框,、表格或函數(shù),。如果只想隨機(jī)看看對(duì)象 中的一些內(nèi)容,還可以使用 car 包中的 some 函數(shù),。 34. 在 R 中公式的符號(hào)都是什么意義,? 拿常見(jiàn)的 lm,glm 模型來(lái)說(shuō),,y ?model 是一種特定的格式,,表示以 y 為響應(yīng)變量,模型為 model,。 其中 model 中的變量由 + 來(lái)連接,,或者由: 來(lái)表示變量間的 “交互作用”。除了 + 和 : ,,我們使用 ? 來(lái)表示 ′a+ b+ a : b′,。(a+ b+ c)∧2 表示 (a+ b+ c) ? (a+ b+ c),即主因素 a,、b,、c 和各個(gè)因素的 交互作用。? 表示去掉之意,。(a+ b+ c)∧2? a : b 表示 ′a+ b+ c+ b : c+ a : c′,。在公式表達(dá)中除了 變量和因子名外,運(yùn)算符號(hào)也是可以存在的,。如 ′ log(y) a+ log(x)′ 是合法的,。 符號(hào). 在 update 函數(shù)中有特殊的意義,它表示 “已經(jīng)存在” 之意,。 1 fm aov ( Speed ? Run + Expt ) fm0 update ( fm , . ? . ? Run) 在第 H 節(jié)中的網(wǎng)格(lattice)繪圖,,我們還會(huì)看到 | 符號(hào),,它可以用來(lái)標(biāo)示 “條件變量”,。 35. R 里面可以使用科學(xué)計(jì)數(shù)法么,? 可以,。 1e10 == 10000000000 2 1 .2 e?4 == 0.00012 4標(biāo)注星號(hào)的函數(shù)可以使用 getAnywhere() 函數(shù)獲得代碼 7 §C 輸入輸出 36. R 可以讀取其他統(tǒng)計(jì)軟件錄入的數(shù)據(jù)么,? 可以,,使用 foreign 包,,它可以讀取 Minitab, S, SAS, SPSS, Stata, Systat, dBase 保存的數(shù)據(jù) 37. R 可以讀 Excel 的數(shù)據(jù)么,? 可以,,但不推薦直接讀取 Excel 文件,,或許只有微軟知道 Excel 里面有什么東西,。通常有三種方法 讀取 Excel: 1. 將 Excel 另存為 csv(Comma Separated Values) 文件,使用 read.csv() 函數(shù)讀?。ㄍ扑]),; 2. 加載 RODBC 包,使用 odbcConnectExcel() 函數(shù)讀取 xls 文件,, l i b r a r y (RODBC) 2 z odbcConnectExcel ('rexceltest.xls') dd sq lFetch ( z , 'Sheet1') 4 c l o s e ( z ) 詳細(xì)請(qǐng)參考 R Data Import/Export,; 3. xlsReadWrite 包中的 read.xls函數(shù)。 38. 可以將 R 中顯示的結(jié)果輸出到文件么,? 可以,。使用 sink()函數(shù)。 data (CO2) 2 s ink ('CO2.txt') CO2 4 s ink ( ) # go t o y o u r w o r k d i r e c t o r y , y o u w i l l g e t CO2 . t x t 39. 如何調(diào)用 R 的輸出信息,? R 提供了 capture.output() 函數(shù),,這個(gè)函數(shù)可以將 R 的輸出信息轉(zhuǎn)化為字符或文件。 glmout capture . output ( example ( glm ) ) 2 glmout [ 1 : 5 ] 當(dāng)然,,如果你想得到漂亮的輸出,,Go to LATEX! 40. R 可以從內(nèi)存直接讀寫(xiě)數(shù)據(jù)么? 可以,??截愋枰x取的內(nèi)容,使用 data read . t ab l e ('clipboard') 2 wr i t e . t ab l e ('clipboard') 8 41. 怎樣將因子 (factor) 轉(zhuǎn)換為數(shù)字 這個(gè)問(wèn)題時(shí)有發(fā)生,,假設(shè) f 是一個(gè)這樣的因子對(duì)象,,我們可以使用 as . numeric ( as . cha rac t e r ( f ) ) 2 # o r as . numeric ( l e v e l s ( f ) ) [ as . i n t e g e r ( f ) ] 42. R 可以使用電子表格輸入數(shù)據(jù)么? 可以使用 edit()和 fix()函數(shù),。 1 data data . frame ( ) ed i t ( x ) ; f i x ( x ) 43. 為什么當(dāng)我使用 source() 時(shí),,不能顯示輸出結(jié)果? 對(duì)需要顯示輸出的對(duì)象使用 print() ,,或者使用 source(file,echo = TRUE),。如果 R 代碼里面包含 sink() 之類(lèi)的函數(shù),必須使用 source(file,echo = TRUE) 才能得到正確的輸出結(jié)果,,否則 sink 的對(duì) 象將為空,。 44. R 可以輸出可供 TEX 使用的文本么? 可以,,參考 Hmisc 包中的 latex() 函數(shù)和 xtable 包中的 xtable()函數(shù),。 a matrix ( 1 : 6 , nr=1) # r e q u i r e ( x t a b l e ) 2 colnames ( a ) paste ('col' , 1 : 6 ) x tab l e ( a ) xtable() 函數(shù)可以用于產(chǎn)生 HTML 格式的原碼,這樣 R 生成的表格就可以非常方便,、漂亮地插入 到 word,、powerpoint 這類(lèi)文字處理軟件。 輸出 LATEX 格式的表格還可以 quantreg 包中的 latex.table()函數(shù)。 45. 找不到文件,,但我知道它在哪,! 在 R 里面使用必須使用雙反斜杠或單斜杠表示文件路徑,比如: 1 d :\\R?2.4.1\\ l i b r a r y \\ xgobi \\ s c r i p t s \\ xgobi . bat d : /R?2.4 .1 / l i b r a r y / xgobi / s c r i p t s / xgobi . bat 當(dāng)然還可以使用 file.choose()函數(shù)打開(kāi)一個(gè) Windows標(biāo)準(zhǔn)文件選擇對(duì)話框,,手動(dòng)選擇文件,。當(dāng)然還 有可以使用 choose.dir() 打開(kāi) Windows 標(biāo)準(zhǔn)目錄選擇對(duì)話框 ,,。 46. R 可以直接從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)么,? 可以,并且還可以通過(guò) SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,。R對(duì)于基于 SQL語(yǔ)言的關(guān)系型數(shù)據(jù)庫(kù)有良好 的支持,,這些數(shù)據(jù)庫(kù)既有商業(yè)數(shù)據(jù)庫(kù) Oracle、Microsoft SQL Server,、IBM DB2 等,,也包含在 GNU General Public License (GPL) 下發(fā)布的 MySQL 等開(kāi)源數(shù)據(jù)庫(kù)。 9 RMySQL 5 包中提供了到 MySQL 數(shù)據(jù)庫(kù)的接口,;RODBC 包提供了更為廣泛數(shù)據(jù)庫(kù)接口的解 決方案 — 支持所有標(biāo)準(zhǔn) ODBC 接口的數(shù)據(jù)庫(kù),。通過(guò)這種方式,相同的 R 代碼可以方便地應(yīng)用于 不同類(lèi)型的數(shù)據(jù)庫(kù),。 l i b r a r y (RODBC) 2 ch odbcConnect ('stocksDSN' , uid = 'myuser' ,pwd = 'mypassword') s t o ck s sqlQuery ( ch ,'select ? from quotes') 4 odbcClose ( ch ) 經(jīng)測(cè)試,,Windows 平臺(tái)上的 Microsoft SQL Server、Access,、Oracle,、MySQL、PostgreSQL,,和 Linux 平臺(tái)上的 MySQL,、Oracle、PostgreSQL,、SQLite 都有良好的應(yīng)用案例(詳細(xì)參考 R-data),。 §D 數(shù)據(jù)處理 47. 如何刪掉缺失值? 在 R 中使用 NA(not available)表示缺失值,,要注意 R(S)語(yǔ)言中 NA 同樣是一個(gè)邏輯值,,6 x NA 2 x > 3 c l a s s ( x ) 故當(dāng)判斷是否相等時(shí)不能使用 1 x == NA 來(lái)判斷缺失值。而是使用函數(shù) is.na()來(lái)判斷是否為缺失值,,使用 1 x [ ! i s . na (x ) ] 刪除缺失值,。 48. 如何將字符串轉(zhuǎn)變?yōu)槊顖?zhí)行? 這里用到 eval() 和 parse() 函數(shù),。首先使用 parse() 函數(shù)將字符串轉(zhuǎn)化為表達(dá)式(expression),,而后 使用 eval() 函數(shù)對(duì)表達(dá)式求解。 1 x 1 :10 a 'print(x)' 3 c l a s s ( a ) eva l ( parse ( t ex t = a ) ) 49. 如何向一個(gè)向量追加元素,? 參考 append()函數(shù),。 5需要包 DBI 的支持 6R 共有三個(gè)邏輯值 TRUE,、FALSE、NA 10 x 1 :5 2 ( foo c (x [ 1 ] , 0 , x [ 2 : 5 ] ) ) # e x p e c t e d r e s u l t append (x , 0 , a f t e r = 1) 50. 如何移除某行 (列) 數(shù)據(jù) 可以使用函數(shù) subset(select = ) ,;或者使用下標(biāo): 1 x data . frame ( matrix ( 1 : 3 0 , nrow = 5 , byrow = T) ) dim(x ) 3 pr in t ( x ) new . x1 x[?c ( 1 , 4 ) , ] #row 5 new . x2 x[ ,? c [ 2 , 3 ] ] # c o l new . x1 ; new . x2 事實(shí)上,,關(guān)于選取特定條件下的數(shù)據(jù)框數(shù)據(jù),subset 函數(shù)同使用下標(biāo)效果相同: iS i r i s $ Spec i e s == 'setosa' 2 i r i s [ iS , c ( 1 , 3 ) ] subset ( i r i s , s e l e c t = c ( Sepal . Length , Peta l . Length ) , Spec i e s == 'setosa') 51. 如何比較兩個(gè)數(shù)據(jù)框是否相同,? 比較每個(gè)元素是否相同,,如果每個(gè)元素都相同,那么這兩個(gè)數(shù)據(jù)框也相同 1 a1 data . frame (num = 1 :8 , l i b = l e t t e r s [ 1 : 8 ] ) a2 a1 3 a2 [ [ 3 , 1 ] ] 2 ?> a2 [ [ 8 , 2 ] ] any ( a1 !=a2 ) # a l l ( a 1 == a 2 ) any() 函數(shù)可以返回是值是否至少有一個(gè)為真的邏輯值,。而數(shù)據(jù)框中的元素有不相等的情況,,則 a1 !=a2 將返回至少一個(gè) TRUE,那么 any() 函數(shù)將判斷為 TRUE,。同樣也可以使用 identical() 函數(shù),。 1 i n d e n t i c a l ( a1 , a2 ) 如果需要返回兩個(gè)數(shù)據(jù)框不相同的位置,可以使用 1 which ( a1 !=a2 , a r r . ind = TRUE) arr.ind 參量是 array indices 之意,,返回?cái)?shù)據(jù)框的行列位置,。 52. 我的數(shù)據(jù)框有相同的行,如何去掉這些行,? 參考 unique 函數(shù),。unique 函數(shù)可以去掉向量、數(shù)據(jù)框或類(lèi)似數(shù)列的數(shù)據(jù)中重復(fù)的元素,。 11 1 x c ( 9 : 2 0 , 1 : 5 , 3 : 7 , 0 : 8 ) ( xu x [ ! dup l i ca t ed (x ) ] ) 3 unique (x ) # i s mo r e e f f i c i e n t 這里 duplicated 函數(shù)返回了元素是否重復(fù)的邏輯值,。 53. 如何對(duì)數(shù)列(array)進(jìn)行維度變換? 使用函數(shù) aperm 1 x array ( 1 : 2 4 , 2 : 4 ) xt aperm(x , c ( 2 , 1 , 3 ) ) 3 dim(x ) ; dim( xt ) 54. 如何刪除 list 中的元素,? R 中使用 NULL 表示無(wú)效的對(duì)象,。 1 l s t l i s t ('a'=l i s t ('b'=1,'c'=2) ,'b'=l i s t ('d'=3,'e'=4)) l s t [ [ 'a' ] ] [ 'b' ] NULL # o r l s t $ a $b NULL 3 l s t 55. 如何對(duì)矩陣按行 (列) 作計(jì)算? 使用函數(shù) apply() 1 vec=1:20 mat=matrix ( vec , nco l=4) 3 vec cumsum( vec ) 5 mat apply (mat , 2 , cumsum) 7 apply (mat , 1 , cumsum) 56. 如何注掉大段的 R 腳本 如果你使用支持正則表達(dá)式的文本編輯器的話,,可以考慮用正則表達(dá)式 (Regular Expression) ,;或 者將大段的代碼寫(xiě)入一個(gè) *.R 文件,如果需要注掉的話,,在 source(*.R) 前加入 # 即可,;還可以使 用 1 i f (FALSE){ something passby 3 } 57. 如何對(duì)數(shù)據(jù)框 (data frame) 的某列作數(shù)學(xué)變換? 使用 transform() 函數(shù)對(duì)其操作,,具體參考?transform 12 58. 如何求解兩組平行向量的極值,? pmax() 和 pmin() ,如: 1 x 1 :10 ; y rev (x ) pmax(x , y ) ; pmin (x , y ) 59. 如何對(duì)不規(guī)則數(shù)組進(jìn)行統(tǒng)計(jì)分析,? 參考 tapply() : n 17 ; f a c f a c t o r ( rep ( 1 : 3 , l en = n ) , l e v e l s = 1 : 5 ) 2 t ab l e ( f a c ) tapply ( 1 : n , fac , sum) 4 tapply ( 1 : n , fac , mean) ## o r r e v e r s e a l i s t 6 to l i s t ( a = 1 , b = 1 , c = 2 , d = 1) tapply ( to , u n l i s t ( to ) , names ) tapply() 的常見(jiàn)于方差分析中對(duì)各個(gè)組別進(jìn)行 mean,、var(sd)的計(jì)算。說(shuō)到概要統(tǒng)計(jì),不得不說(shuō)另 外一個(gè)函數(shù) aggregate(),,它將 tapply() 函數(shù)對(duì)象為向量的限制擴(kuò)展到了數(shù)據(jù)框,。7 1 attach ( warpbreaks ) tapply ( breaks , l i s t ( wool , t en s i on ) ,mean) 3 aggregate ( breaks , l i s t ( wool , t en s i on ) ,mean) ## f r om t h e h e l p 5 aggregate ( s t a t e . x77 , l i s t ( Region = s t a t e . reg ion , 7 Cold = s t a t e . x77 [ ,'Frost' ] > 130) , mean) 60. 判斷數(shù)據(jù)框的列是否為數(shù)字? sapply(dataframe, is.numeric) 61. 一組數(shù)中隨機(jī)抽取數(shù)據(jù),? 函數(shù) sample() sample(n) 隨機(jī)組合 1, . . . , n sample(x) 隨機(jī)組合向量 x, length(x) > 1 sample(x, replace = T) 解靴帶法 sample(x,n) 非放回的從 x 中抽取 n 項(xiàng) sample(x,n, replace = T) 放回的從 x 中抽取 n 項(xiàng) sample(x,n, replace = T ,prob = p) 以概率 p,,放回的從 x 中抽取 n 項(xiàng) 7當(dāng)然同樣概要統(tǒng)計(jì)的表現(xiàn)形式不一樣 13 n 1000 2 x sample ( c (?1 ,1) , n , r ep l a c e=T) p lo t (cumsum(x ) , type='l' , 4 main='Cumulated sums of Bernoulli variables') 還可以參考第 17 頁(yè)中關(guān)于模擬已知分布的隨機(jī)數(shù)據(jù)函數(shù),如: rnorm (100 , mean=0, sd=1) 62. 如何根據(jù)共有的列將兩個(gè)數(shù)據(jù)框合并,? 我們經(jīng)常會(huì)遇到兩個(gè)數(shù)據(jù)框擁有相同的時(shí)間或觀測(cè)值,,但這些列卻不盡相同。處理的辦法就是使用 merge(x, y ,by.x = ,by.y = ,all = ) 函數(shù),。 63. 如何將數(shù)據(jù)標(biāo)準(zhǔn)化,? 參考 scale 函數(shù),。 1 x c ( rnorm (100) , 2?rnorm (30 ) ) m s c a l e ( x , s c a l e = F) # o n l y c e n t e r i n g 3 n s c a l e ( x , c en t e r = F) # o n l y s c a l i n g 64. 為什么 fivenum 和 summary 兩個(gè)函數(shù)返回的結(jié)果不同,? 因?yàn)樗麄儗?duì)數(shù)據(jù)描述機(jī)理一致,所以有些教材將二者等同,,但他們確實(shí)有細(xì)微差別,。 1 > fivenum ( c (1 , 4 , 6 , 17 , 50 , 51 , 70 , 100 ) ) [ 1 ] 1 . 0 5 . 0 33 .5 60 .5 100 .0 3 > quan t i l e ( c (1 , 4 , 6 , 17 , 50 , 51 , 70 , 100 ) ) 0% 25% 50% 75% 100% 5 1 .00 5 .50 33 .50 55 .75 100 .00 我們看下他們的的定義:分位數(shù)是指有百分之多少的數(shù)據(jù)小于的數(shù)值(summary() 函數(shù),即使用分 位數(shù)概念),,我們可以看到 14 , 34 分位數(shù)的定義: 1 + 1 4 (length(x)? 1),1 4 分位數(shù) 1 + 3 4 (length(x)? 1),3 4 分位數(shù) 而 fivenum() 函數(shù)是完全利用中位數(shù)概念,。 §E 數(shù)學(xué)運(yùn)算 65. 如何做出曲線積分? R 語(yǔ)言使用 integrate 函數(shù)來(lái)得到積分結(jié)果,,如 14 1 i n t e g r a t e (dnorm , ?1.96 , 1 . 96 ) i n t e g r a t e (dnorm , ?In f , I n f ) 3 ## a s l o w l y ? c o n v e r g e n t i n t e g r a l in tegrand f unc t i on (x ) {1/ ( ( x+1)? s q r t ( x ) )} 5 i n t e g r a t e ( integrand , lower = 0 , upper = In f ) 66. 如何得到一個(gè)列向量,? 矩陣轉(zhuǎn)置可以使用函數(shù) t() ,R 中默認(rèn) x 為 “integer” 類(lèi)型數(shù)據(jù),,這時(shí)可以用 t(t(x)) 得到列向量: 1 x 1 :10 ; c l a s s ( x ) t ( x ) ; c l a s s ( t ( x ) ) 3 t ( t ( x ) ) ; c l a s s ( t ( t ( x ) ) ) 行向量,、列向量常常會(huì)有一個(gè)比較容易讓人迷糊的地方: 1 x%?%x 計(jì)算的是 xTx(計(jì)算 xxT 使用 %o% 或 outer() 函數(shù))。crossprod() 函數(shù)能避免這種情況: 1 XT. y c ros sprod (X, y ) 它直接計(jì)算 XTY,,可以看作前者的另一種表達(dá)方式,,當(dāng)然 crossprod() 更為有效8。由于 outer() 函 數(shù)的矩陣意義,,它常用于三維繪圖數(shù)據(jù),,比如我們計(jì)算 10× sin √ x2 + y2√ x2 + y2 那么對(duì)應(yīng)的 R 函數(shù)計(jì)算為: 1 f f unc t i on (x , y ) { r s q r t ( x?2+y ?2 ) ; 10 ? s i n ( r ) / r } z outer (x , y , f ) 67. R 如何進(jìn)行復(fù)數(shù)計(jì)算? 參考 complex() 函數(shù)的幫助,。 x 1 + 1 i # x c o m p l e x ( 1 , 1 ) 2 Mod(x ) ; Conj ( x ) 68. 如何生成對(duì)角矩陣,? 對(duì)一個(gè)向量使用 diag() 函數(shù),得到對(duì)角線元素為向量的對(duì)角矩陣,;對(duì)整數(shù) Z 使用此函數(shù)得到 Z 維 的單位矩陣,。 69. 求矩陣的特征值和特征向量的函數(shù)是什么? 參考:eigen 函數(shù) 8當(dāng)矩陣很大時(shí),會(huì)非常明顯 , 15 70. 如何構(gòu)造上(下)三角矩陣,? 參考函數(shù) lower.tri() 和 upper.tri() ,。 Rmat matrix ( 1 : 1 6 , 4 , 4 ) 2 Rmat [ lower . t r i (Rmat ) ] 0 Rmat 71. 求立方根如何運(yùn)算? x?(1/3),。在 R 里面 sqrt() 函數(shù)可以計(jì)算開(kāi)平方,,故新手容易推測(cè)開(kāi)立方也有函數(shù)。事實(shí)上 R 里面 使用 ? 來(lái)作冪函數(shù)運(yùn)算,。? 不但是運(yùn)算符號(hào),,還可以看作是函數(shù): 1 '?'( x , 1/ 3) 在 R 中的運(yùn)算符號(hào)包括: R 中的運(yùn)算符號(hào) 數(shù)學(xué)運(yùn)算 +,-,*,/,?,%%,%/% 加、減,、乘,、除、乘方,、余數(shù),、整除 邏輯運(yùn)算 >,<,>=, <=,==, ! = 大于,小于,,大于等于,,小于等于,等于,,不等于 72. 如何求矩陣各行 (列) 的均值,? 如果運(yùn)算量不是很大,當(dāng)然可以使用 apply()函數(shù),。rowMeans()和 colMeans()函數(shù)可以更快地得到 你要的結(jié)果,。 1 m 1000 ; n 3000 A matrix ( 1 :m?n ,m ,n) 3 system . time (B1 matrix ( apply (A, 2 ,mean ) , m, n , by=T) ) system . time (B2 matrix ( colMeans (A) , m, n , by=T) ) 73. 如何計(jì)算組合數(shù)或得到所有組合? choose()用于計(jì)算組合數(shù) (nk),,函數(shù) combn()可以得到所有元素的組合,。使用 factorial()計(jì)算階乘。 74. 如何在 R 里面求(偏)導(dǎo)數(shù),? 使用函數(shù) D() f1 exp r e s s i on ( s i n (x ) ?x ) 2 f 2 exp r e s s i on (x?2?y + y?2) D( f ,'x') 75. 如何求一元方程的根,? 使用 uniroot()函數(shù),不過(guò) uniroot 是基于二分法來(lái)計(jì)算方程根,,當(dāng)初始區(qū)間不能滿足要求時(shí),,會(huì)返 回錯(cuò)誤信息。 1 f un i root ( f , c ( 0 , 2 ) ) 16 如果一元方程的根恰恰是其極值,,那么還可以使用 optimize()函數(shù)來(lái)求極值,。 f f unc t i on (x )x?2 + 2?x + 1 2 opt imize ( f , c (?2 ,2)) 76. 如何模擬高斯(正態(tài))分布數(shù)據(jù)? 使用 rnorm(n , mean , sd) 來(lái)產(chǎn)生 n 個(gè)來(lái)自于均值為 mean,,標(biāo)準(zhǔn)差為 sd 的高斯(正態(tài))分布的數(shù) 據(jù),。在 R里面通過(guò)分布前增加字母 ‘d’表示概率密度函數(shù),,‘p’表示累積分布函數(shù),‘q’表示分位 數(shù)函數(shù),,‘r’ 表示產(chǎn)生該分布的隨機(jī)數(shù),。這些分布具體可以參考第 20 頁(yè)中 “如何做密度曲線”,或 R-intro 中的 Probability distributions 章節(jié),,或 help . search ('distribution') 使用這些函數(shù)可以很輕松的進(jìn)行相關(guān)的分布的概 率計(jì)算,,如已知 X?N(3, 1),計(jì)算 P (2 6 X 6 5) 利用正態(tài)分布的累積分布函數(shù) pnorm 1 pnorm (5 , 3 , 1 ) ? pnorm (2 , 3 , 1 ) 計(jì)算結(jié)果為 0.8185946,,即右圖中陰影的面積,。 ?2 0 2 4 6 8 0. 0 0. 1 0. 2 0. 3 0. 4 D en si ty P(2 77. R 對(duì)大小寫(xiě)敏感么? R 中有很多基于 Unix 的包,,故 R 對(duì)大小寫(xiě)是敏感的,。可以使用 tolower() ,、toupper() ,、casefold() 這類(lèi)的函數(shù)對(duì)字符進(jìn)行轉(zhuǎn)化。 1 x 'MiXeD cAsE 123' char t r ('iXs' , 'why' , x ) 3 char t r ('a-cX' , 'D-Fw' , x ) to lower (x ) 5 toupper ( x ) 78. R 運(yùn)行結(jié)果輸出到文件中時(shí),,文件名中可以用變量代替嗎,? 可以,,通過(guò)使用 paste() 函數(shù),。 17 1 f o r ( var in l e t t e r s [ 1 : 6 ] ) { x var 3 wr i t e . t ab l e ( x , paste ('FOO ' , var , '.txt' , sep = '' ) ) } # You w i l l g e t ”FOO a . t x t ” . . . 79. 在 R 中如何使用正則表達(dá)式(Regular Expressions ) 在 R中,有三種類(lèi)型的正則表達(dá)式:extended regular expressions,,使用函數(shù) grep(extended = TRUE) (默認(rèn)),;basic regular expressions,使用 grep(extended = FALSE),;Perl-like regular expressions,,使 用 grep(perl = TRUE)。比如 “.” 用來(lái)匹配任意字符(使用 “\.” 來(lái)匹配 “.”): grep ('J.' , month . abb ) 詳細(xì)可以參考 help(”regex”),。 80. 如何在字符串中選取特定位置的字符,? 參考 substr()函數(shù)。 1 subs t r ('abcdef' , 2 , 4 ) sub s t r i ng ('abcdef' , 1 : 6 , 1 : 6 ) 這個(gè)函數(shù)同時(shí)支持中文,,用她來(lái)處理 “簡(jiǎn)稱(chēng)” 和 “全稱(chēng)” 還是一個(gè)不錯(cuò)的選擇的,。 81. 如何返回字符個(gè)數(shù)? 參考 nchar ,。 nchar (month . name [ 9 ] ) §G 日期時(shí)間 82. 日期可以做算術(shù)運(yùn)算么,? 可以。一般我們需要使用 as.Date() ,,as.POSIXct() 函數(shù)將讀取的日期(字符串)轉(zhuǎn)化為 “Date” 類(lèi) 型數(shù)據(jù),,“Date” 類(lèi)型數(shù)據(jù)可以進(jìn)行算術(shù)運(yùn)算,。 1 d1 c ('06/29/07') ; d2 c ('07/02/07') D1 as . Date (d1 ,'%m/%d/%y') 3 D2 as . Date (d2 ,'%m/%d/%y') D1 + 2 ; D1 ? D2 5 d i f f t im e (D1 ,D2 , un i t s = 'days') 83. 如何將日期表示為 “星期日, 22 七月 2007” 這種格式? 使用 format() 函數(shù),。 18 1 format ( ( Sys . Date ( ) , format='%A, %d %B %Y') 具體 format 參數(shù)可以參考 help(strptime) 的 details 部分,。 §H 繪圖相關(guān) 84. 如何在同一畫(huà)面畫(huà)出多張圖? 這里提供三種解決方案: · 修改繪圖參數(shù),,如 par(mfrow = c(2,2)) 或 par(mfcol = c(2,2)),; · 更為強(qiáng)大功能的 layout函數(shù),它可以設(shè)置圖形繪制順序和圖形大??; · split.screen()函數(shù)。 推薦使用 layout() 函數(shù),,Statistics with R 的一個(gè)例子: 1 l ayout ( matrix ( c (1 , 1 , 1 , 2 , 3 , 4 , 3 2 , 3 , 4 ) , nr = 3 , byrow = T)) h i s t ( rnorm (25 ) , c o l = 'VioletRed') 5 h i s t ( rnorm (25 ) , c o l = 'VioletRed') h i s t ( rnorm (25 ) , c o l = 'VioletRed') 7 h i s t ( rnorm (25 ) , c o l = 'VioletRed') 85. 如何設(shè)置圖形邊緣大小 修改繪圖參數(shù) par(mar = c(bottom, left, top, right)),,bottom, left, top, right 四個(gè)參數(shù)分別是距 離 bottom, left, top, right 的長(zhǎng)度,默認(rèn)距離是 c(5, 4, 4, 2) + 0.1,?;蛘咝薷睦L圖參數(shù) par(mai = c(bottom, left, top, right)),以英寸為單位來(lái)指定邊緣大小,。 86. 常用的 pch 符號(hào)都有哪些,? pch 是 plotting character 的縮寫(xiě)。pch 符號(hào) 可以使用 “0 : 25” 來(lái)表示 26 個(gè)標(biāo)識(shí)(參 看右圖 “pch 符號(hào)”),。當(dāng)然符號(hào)也可以使用 #,%, ?, |,+,?, ., o, O,。值得注意的是,21 : 25 這幾個(gè)符號(hào)可以在 points函數(shù)使用不同的顏 色填充(bg= 參數(shù)),。 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 op par ( bg = 'light blue') x seq (0 ,2 ?pi , l en=51) 3 p lo t (x , s i n (x ) , type = 'o' , bg=par ('bg' ) ) po in t s (x , s i n (x ) , pch = 21 , cex =1.5 , bg='red') 19 87. 如何在已有圖形上加一條水平線 使用低水平繪圖命令 abline(),,它可以作出水平線(y值 h=)、垂線(x值 v=)和斜線(截距 a=,,斜 率 b=),。 R中的繪圖命令可以分為 “高水平”(High level)、“低水平(Low level)”和 “交互式”(Interactive) 三種繪圖命令,。 簡(jiǎn)要地說(shuō),,“高水平” 繪圖命令可以在圖形設(shè)備上繪制新圖;“低水平” 繪圖命令將在已經(jīng)存在 圖形上添加更多的繪圖信息,,如點(diǎn),、線、多邊形等,;使用 “交互式” 繪圖命令創(chuàng)建的繪圖,,可以使用 如鼠標(biāo)這類(lèi)的定點(diǎn)裝置來(lái)添加或提取繪圖信息。在已有圖形上添加信息當(dāng)然要使用 “低水平” 繪圖 命令,。 88. 如何做密度曲線,? 常用的辦法是:做出 x 的一個(gè)序列,,然后做出dfunction(x),比如: x=seq (?3 , 3 , . 0 5 ) 2 p lo t (x , dnorm(x ) , type='l') l i n e s (x , dt (x , 1 ) , c o l = 'red') dfunction(x) 中的 function 是指分布族,,可以參考 R-intro 中的 Probability distributions 章節(jié),,或 help.search(”distribution”)。關(guān)于構(gòu)造相關(guān)分布函數(shù)參考第 17 頁(yè)中 “如何模擬高斯分布數(shù)據(jù)”,。 R 中的分布函數(shù) 分布 R 函數(shù) 附加參數(shù) 默認(rèn)參數(shù) beta beta shape1(α),shape2(β) 二項(xiàng) binom size(n),prob(p) χ2 chisq df 均勻 unif min(a),max(b) min = 0,max = 1 指數(shù) exp rate rate = 1 F f df1(r1),df2(r2) 伽瑪 gamma shape(α),scale(θ) scale = 1 超幾何 hyper m = N1, n = N2, k = n 正態(tài) norm mean(μ),sd(σ) mean = 0, sd = 1 泊松 pois lamda(λ) t t df 威布爾 weibull shape(α),scale(θ) scale = 1 89. 如何加圖例,? 繪制圖形后,使用 legend函數(shù),,help(”legend”) 1 with ( i r i s , p l o t ( Sepal . Length , Sepal .Width , pch=as . numeric ( Spec i e s ) , cex =1.2)) 20 3 l egend ( 6 . 1 , 4 . 4 , c ('setosa' , 'versicolor' , 'virginica' ) , cex =1.5 , pch=1:3) 90. 怎么做餅圖,? 參考 pie()函數(shù)。餅圖展示數(shù)據(jù)的能力較差,,因?yàn)槲覀兊难劬?duì)長(zhǎng)度單位比較敏感,,而對(duì)關(guān)聯(lián)區(qū)域和 角度感覺(jué)較差。建議使用條形圖(bar chart)和點(diǎn)圖(dot chart),。 91. 如何做莖葉圖,? 參考 stem 函數(shù)。 stem ( f a i t h f u l $ e rupt i ons ) 92. R 如何做雙坐標(biāo)圖,? 在 R 中可以通過(guò)繪圖參數(shù) par(new = TRUE)使得繪制第二個(gè)繪圖 (hight-level plot) 時(shí)保留第一個(gè) 繪圖區(qū)域,,這樣兩張繪圖會(huì)重疊在一起,看起來(lái)就是雙坐標(biāo)圖,。下面的例子是在同一張圖上繪制 GDP 和失業(yè)率 (UR): 1 year 1995:2005 x1 data . frame ( year , GDP = so r t ( rnorm (11 ,1000 ,100 ) ) ) 3 x2 data . frame ( year , UR = rnorm (11 , 5 , 1 ) ) par (mar = c (5 ,4 , 4 , 6 )+0 .1 ) 5 p lo t ( x1 , axes = FALSE, type='l') ax i s (1 , at = year , l a b e l = year ) ; ax i s (2 ) 7 par (new = T, mar = c (10 , 4 , 10 , 6 ) + 0 . 1 ) p l o t ( x2 , axes = FALSE, xlab = '' , y lab = '' , c o l = 'red' , type= 'b') 9 mtext ('UR(%)' , 4 , 3 , c o l='red') ax i s (4 , c o l ='red' , c o l . ax i s = 'red') 但不推薦使用雙坐標(biāo)圖來(lái)進(jìn)行數(shù)據(jù)描述,,這樣很容易造成誤解。并且在 R 中做出并排圖形作對(duì)比 很容易,,沒(méi)有必要繪制雙坐標(biāo)圖,。 93. 如何為繪圖加入網(wǎng)格? 使用 grid() 函數(shù),, p lo t ( 1 : 3 ) 2 g r id (NA, 5 , lwd = 2) # g r i d o n l y i n y? d i r e c t i o n 94. 如果繪圖時(shí)標(biāo)題太長(zhǎng),如何換行,? 可以使用 strwrap 函數(shù),,這個(gè)函數(shù)可以將定義段落格式。 p lo t (0 ,main = paste ( strwrap ('This is a really long title that 2 i can not type it properly' , width = 50 ) , 21 c o l l a p s e = '\n' ) ) 95. 可以打開(kāi)多個(gè)圖形設(shè)備么,? 可以,。當(dāng)打開(kāi)多個(gè)圖形設(shè)備后,使用 dev.list()察看圖形設(shè)備的數(shù)目(除了設(shè)備一),,使用 dev.cur()察 看當(dāng)前使用的圖形設(shè)備,,dev.set()改變激活指定的圖形設(shè)備,dev.off()關(guān)閉圖形設(shè)備,。 96. 坐標(biāo) y 上的數(shù)字如何水平放置,? 仍然是繪圖參數(shù)問(wèn)題: 1 ?par # s e e l a s p lo t (0 , 0 , xaxt='n' , type='n' , yl im=c (0 , 100 ) , l a s=1 ) 3 mtext ('35' , s i d e =2, at=35, l i n e =1, l a s =1) 97. 常用的繪圖設(shè)備都有哪些,? R 支持的圖形設(shè)備有如下幾種(參考?Devices): R 圖形設(shè)備 名稱(chēng) 描述 屏幕 x11 X 窗口 顯示 windows Windows 窗口 postscript ps 格式文件 pdf pdf 格式文件 pictex 供 LATEX使用的文件 文件 png png 格式文件 設(shè)備 jpeg jpeg 格式文件 bmp bmp 格式文件 xfig 供 XFIG 使用的圖形格式 win.metafile a emf 格式的文件 a僅在 Windows 下有效 這里推薦使用 postscript() 函數(shù),因?yàn)?ps 圖形格式為矢量繪圖格式,,且通用性較強(qiáng),。 98. 如何做雷達(dá)圖? R 里面使用 stars 函數(shù)來(lái)做雷達(dá)圖,。 1 s t a r s ( s t a t e . x77 [ , c (7 , 4 , 6 , 2 , 5 , 3 ) ] , f u l l = FALSE, key . l o c = c (10 , 2 ) ) 這里的的 full = FALSE 參數(shù)表示只繪制雷達(dá)圖的上半部分(反之,,繪制整個(gè)雷達(dá)圖);key.loc 參數(shù) 表示基準(zhǔn)圖例的位置,。 99. 為什么 R 不能顯示 8 種以上的顏色,? 當(dāng)繪圖參數(shù) col使用數(shù)字來(lái)代替顏色名時(shí)會(huì)有這種情形,這是因?yàn)?R內(nèi)置調(diào)色板默認(rèn)為 8種顏色: 22 pa l e t t e ( ) 2 barp lo t ( rnorm (15 , 10 , 3) , c o l = 1 : 15 ) p a l e t t e ( rainbow (15 ) ) 4 barp lo t ( rnorm (15 , 10 , 3) , c o l = 1 : 15 ) p a l e t t e ('default') 在 R 中共有 657 種顏色名稱(chēng)可以使用,,它們的名稱(chēng)可以通過(guò) 1 c o l o r s ( ) 來(lái)得到,,但事實(shí)上有些顏色名稱(chēng)代表的顏色重復(fù),R 中顏色名稱(chēng)只能顯示 502 種顏色,。當(dāng)然可以使 用函數(shù) rgb() 來(lái)指定任意色彩,。 100. 如何用不同的顏色來(lái)代表數(shù)據(jù)? 高級(jí)繪圖函數(shù)一般都有 col 參數(shù)可以設(shè)置,。對(duì)于像 barplot() 這類(lèi)圖形,,可以使用 “顏色組”(color sets) 來(lái)設(shè)置顏色,顏色組包括如下幾類(lèi): R 顏色組函數(shù) 名稱(chēng) 描述 rainbow() 彩虹色 ( ) heat.colors() 紅色至黃色 ( ) terrain.colors() 綠色,、棕色至白色 ( ) topo.colors() 深藍(lán)色至淺棕色 ( ) cm.colors() 淺藍(lán)到白色,,淺紫色 ( ) gay()、grey() 灰色 ( ) 1 x 1 :10 ; names (x ) l e t t e r s [ 1 : 1 0 ] barp lo t (x , c o l = rev ( heat . c o l o r s ( 1 0 ) ) ) 3 barp lo t (x , c o l = gray ( ( 1 : 1 0 ) / 1 0 ) ) ; 101. 怎樣將 R 的顏色同 RGB 對(duì)應(yīng)起來(lái),? 參考函數(shù) col2rgb() 1 wr i t e . t ab l e ( t ( co l2 rgb ( rainbow (7 ) ) / 255) , sep = ',') 102. 如何調(diào)整所繪圖形的大?。?br>Windows 平臺(tái)下,,正常情況打開(kāi)繪圖窗口,,調(diào)整窗口大小,點(diǎn)擊菜單直接保存,,或使用 savePlot() 函數(shù)保存,;當(dāng)然也可以事先用 1 windows ( width = , he ight = ) 打開(kāi)一個(gè)定義好大小的窗口,然后繪圖,;還可以使用 pdf() ,postscript() , png() ,jpeg() ,pictex() 等 “后臺(tái)生成” 函數(shù),, 23 1 ## s t a r t a PDF f i l e pdf ('picture.pdf' , he ight=4,width=6) 3 ## y o u r d r a w i n g c ommand s h e r e dev . o f f ( ) ### c l o s e t h e PDF f i l e 這些函數(shù)都有設(shè)置圖形大小的參數(shù);還可以使用 dev . copy ( device , f i l e='' , he ight , width ) 命令,。 103. 如何模擬布朗運(yùn)動(dòng),? 布朗運(yùn)動(dòng)可以用標(biāo)準(zhǔn)正態(tài)的隨機(jī)模擬值的累積和來(lái)模擬: 1 # two d i m e n s i o n s n 100 3 x cumsum( rnorm (n ) ) y cumsum( rnorm (n ) ) 5 p lo t (x , y , type = ’l’) 104. 如何獲得連接若干點(diǎn)的平滑曲線? 如果已知做出這些點(diǎn)的函數(shù)可以使用 curve(expr, from , to, add = T) 函數(shù),。反之,,使用立方曲線差 值函數(shù) spline(x , y , n= ) ,,如: 1 x 1 :5 y c (1 , 3 , 4 , 2 . 5 , 2 ) 3 p lo t (x , y ) sp s p l i n e (x , y , n = 50) 5 l i n e s ( sp ) 105. 網(wǎng)格 (lattice) 繪圖和普通繪圖有什么區(qū)別? 網(wǎng)格(lattice)繪圖實(shí)際上是 S-plus中 Trellis繪圖在 R中的實(shí)現(xiàn),,是多元數(shù)據(jù)可視化的方法,。網(wǎng)格 繪圖相對(duì)于普通繪圖來(lái)說(shuō),是一種擁有 “固定格式” 的繪圖方式,,當(dāng)然它相對(duì)來(lái)說(shuō)較難修改,。如果 數(shù)據(jù)分屬不同的類(lèi)別,需要將這些類(lèi)別下的數(shù)據(jù)進(jìn)行比較,,網(wǎng)格繪圖是很不錯(cuò)的選擇: 1 l i b r a r y ( l a t t i c e ) histogram ( ? he ight | vo i c e . part , data = s i n g e r ) 常用的 lattice 繪圖函數(shù)有: 24 常用 lattice 繪圖函數(shù) 函數(shù) 說(shuō)明 xyplot(y?x) 雙變量散點(diǎn)圖 dotplot(y?x) Cleveland 點(diǎn)圖 (逐行逐列累加圖) barchart(y?x) y 對(duì) x 的條形圖 stripplot(y?x) 一維圖,,x 必須是數(shù)值型,y 可以是因子 bwplot(y?x) 箱線圖 histogram(?x) 直方圖 106. 如何繪制三維圖,? 參考 persp() ,,contour() 函數(shù)。這里需要注意的三維繪圖中第三維坐標(biāo)的形式,。參考第 15 頁(yè)中的 outer() 函數(shù),。 107. 想把一個(gè)數(shù)值的矩陣映射為一個(gè)顏色方格的矩陣,什么函數(shù),? 參考 image() 和 filled.contour() 函數(shù): x y seq (?10 , 10 , l ength=50) 2 f f unc t i on (x , y ){ r s q r t ( x?2 + y?2) 4 10? s i n ( r ) / r } 6 z outer ( x , y , f ) image (x , y , z ) 8 f i l l e d . contour (x , y , z ) 108. 散點(diǎn)圖中散點(diǎn)大小同因變量值成比例如何畫(huà),? 在 R 中做這類(lèi)圖很簡(jiǎn)單,因?yàn)?R 的很多繪圖參數(shù)可以使用變量: x 1 :10 2 y r un i f (10) symbols (x , y , c i r c l e s = y/2 , inche s = F, bg = x) 109. 我想為一個(gè)數(shù)據(jù)框的每一列都做 Q–Q 圖,? 使用 apply() 函數(shù)作用于矩陣的行或列,,且能避免 R 中的顯式循環(huán) 1 t ab l e data . frame ( x1 = rnorm (100) , x2 = rnorm (100 , 1 , 1 ) ) par ( ask=TRUE) # w a i t f o r c h a n g i n g 3 r e s u l t s = apply ( tab le , 2 , qqnorm) par ( ask=FALSE) 110. 如何在一個(gè)直方圖上添加一個(gè)小的箱線圖? 25 在直方圖的空白位置添加另外的小圖(像圖例一樣),,仍然使用參數(shù) par(): x rnorm (100) 2 h i s t ( x ) op par ( f i g=c ( . 0 2 , . 5 , . 5 , . 9 8 ) , new=TRUE) 4 boxplot ( x ) 111. 如何在 R 的繪圖中加入數(shù)學(xué)公式或希臘字符,? 參考?plotmath ,熟悉 LATEX 的用戶,,會(huì)發(fā)現(xiàn)二者語(yǔ)法非常類(lèi)似,。 x 1 :10 ; p l o t (x , type = 'n') 2 t ex t (3 , 2 , exp r e s s i on ( paste ('Temperature (' , degree , 'C) in 2003' ) ) ) t ex t (4 , 4 , exp r e s s i on ( bar ( x ) == sum( f r a c (x [ i ] , n ) , i ==1, n ) ) ) 4 t ex t (6 , 6 , exp r e s s i on ( hat ( beta ) == (X? t ? X)?{ . 1} ? X? t ? y ) ) t ex t (8 , 8 , exp r e s s i on ( z [ i ] == sq r t ( x [ i ] ?2 + y [ i ] ? 2 ) ) ) 112. 如何在條形圖上顯示每個(gè) bar 的數(shù)值? 如果明白 barplot()函數(shù)其實(shí)是由低級(jí)繪圖命令 rect()函數(shù)構(gòu)造的,,那下面的例子也就不難理解了: 1 x 1 :10 ; names (x ) l e t t e r s [ 1 : 1 0 ] b barp lo t (x , c o l = rev ( heat . c o l o r s ( 1 0 ) ) ) 3 t ex t (b , x , l a b e l s = x , pos = 3) 113. 如何繪制橢圓或雙曲線,? 根據(jù)函數(shù)式的基本繪圖。直角坐標(biāo)系下可使用參數(shù)方程: ( x a )2 + ( y b )2 = 1 =? x = a sin θ, y = b cos θ, 0 < θ < 2pi 1 t seq (0 ,2 ?pi , l ength = 100) x s i n ( t ) # a=1 3 y 2? cos ( t ) # b=2 p lo t (x , y , type = ’l’) 114. 在 word 里如何使用 R 生成的高質(zhì)量繪圖,? 矢量繪圖的效果是最好的,比如 eps,、pdf,,而不是位圖(png、jpg,、tiff 等),。在 word 里面,,可以使 用 eps,雖然在屏幕上顯示不是很好,,但打印效果卻不錯(cuò),。 §I 統(tǒng)計(jì)模型 115. 有沒(méi)有直接計(jì)算峰度和偏度的函數(shù)? 26 當(dāng)然自己寫(xiě)一個(gè)也費(fèi)不了太多時(shí)間,。FBasics 包中提供了 skewness ( ) 2 ku r t o s i s ( ) 可以直接計(jì)算偏度和峰度,。 116. 如何做交叉列聯(lián)表? table() 函數(shù),。table(x) 為 x 的頻數(shù)表,;table(x,y) 為交叉列聯(lián)表。 x with ( a i r qua l i t y , t ab l e ( cut (Temp, quan t i l e (Temp) ) , Month ) ) 2 prop . t ab l e (x , 1 ) 117. 如何做線性回歸模型,? 線性模型是最核心的經(jīng)典統(tǒng)計(jì)方法,,且至今仍然有廣泛應(yīng)用;很多現(xiàn)代統(tǒng)計(jì)方法都是在此基礎(chǔ)上發(fā) 展起來(lái)的,。最簡(jiǎn)單的線性回歸模型為: yi = α+ βxi + 2i 其中 α 為截距項(xiàng),,β 為模型的斜率,2 為誤差項(xiàng),。 lm() 函數(shù)提供了線性回歸的計(jì)算方法,。 lm . sw i s s lm( F e r t i l i t y ? . , data = sw i s s ) lm() 的結(jié)果是一個(gè)包含回歸信息的列表,它包含以下信息: coefficients:回歸系數(shù)(矩陣) residuals:返回模型殘差(矩陣) fitted.values:模型擬合值 . . .:. . . 可以使用如下命令得到列表名稱(chēng): 1 names ( lm . sw i s s ) summary() 和 anova() 分別返回回歸模型的概要信息和方差分析表,。 1 summary( lm . sw i s s ) # t h e s am e a s s umma r y . lm ( ) anova ( lm . sw i s s ) 提取模型信息的類(lèi)函數(shù)有很多,,其他可以參考 R-intro 中 Statistical models in R 一節(jié)。 如果處理數(shù)據(jù)的量很大,,可以使用 biglm 包中的 biglm() 函數(shù),。這個(gè)函數(shù)可以用于 “海量” 數(shù) 據(jù)的回歸模擬。 118. 如何更新模型,? 參考 update() 函數(shù): 27 summary( f0 lm( F e r t i l i t y ? . , data = sw i s s ) ) 2 f 1 update ( f0 , . ? . ? Examination ) summary( f1 ) 119. 如何使用逐步回歸,? 在 R里,可以使用計(jì)算逐步回歸的 step()函數(shù),。它以計(jì)算 AIC信息統(tǒng)計(jì)量為準(zhǔn)則,,選取最小的 AIC 信息統(tǒng)計(jì)量來(lái)達(dá)到逐步回歸的目的。 1 u t i l s : : example ( lm) step ( lm .D9) step 函數(shù)可使用 “both,forward,backward” 三種方法,,其默認(rèn)為 “backward”,。當(dāng)然你還可以參考 add1,drop1 函數(shù),。 120. R 中如何實(shí)現(xiàn)分位數(shù)回歸 (Quantile Regression) 參考 quantreg 和 quantregForest 包 data ( enge l ) 2 taus c ( . 1 5 , . 2 5 , . 5 0 , . 7 5 , . 9 5 , . 9 9 ) rqs as . l i s t ( taus ) 4 f o r ( i in seq ( along = taus ) ) { rqs [ [ i ] ] rq ( log10 ( foodexp ) ? log10 ( income ) , 6 tau = taus [ i ] , data = enge l ) l i n e s ( log10 ( enge l $ income ) , f i t t e d ( rqs [ [ i ] ] ) , c o l = i +1) } 8 l egend ('bottomright' , paste ('tau = ' , taus ) , i n s e t = . 04 , c o l = 2 : ( l ength ( taus )+1) , l t y =1) 121. 如何得到一個(gè)正態(tài)總體均值 μ 的區(qū)間估計(jì),? 很簡(jiǎn)單,t.test() 函數(shù) 1 x rnorm (100) t . t e s t ( x ) 122. 如何做聚類(lèi)分析? K 均值聚類(lèi) (kmeans() ): x rbind ( matrix ( rnorm (100 , sd = 0 . 3 ) , nco l = 2) , 2 matrix ( rnorm (100 , mean = 1 , sd = 0 . 3 ) , nco l = 2) ) c l kmeans (x , 2 , 20) 4 p lo t (x , c o l = c l $ c l u s t e r , pch=3, lwd=1) po in t s ( c l $ cente r s , c o l = 1 : 2 , pch = 7 , lwd=3) 6 segments ( x [ c l $ c l u s t e r ==1 , ] [ , 1 ] , x [ c l $ c l u s t e r ==1 , ] [ , 2 ] , 28 c l $ c en t e r s [ 1 , 1 ] , c l $ c en t e r s [ 1 , 2 ] ) 8 segments ( x [ c l $ c l u s t e r ==2 , ] [ , 1 ] , x [ c l $ c l u s t e r ==2 , ] [ , 2 ] , c l $ c en t e r s [ 2 , 1 ] , c l $ c en t e r s [ 2 , 2 ] , 10 c o l =2) 層次聚類(lèi) (hclust() ): n seq (1 ,50 , by = 4) 2 ( x USArrests [ n , ] ) # p r i n t ( ) hc1 hc lu s t ( d i s t ( x ) , method = 'complete') 4 hc2 hc lu s t ( d i s t ( s c a l e ( x ) ) , method = 'complete') hc3 hc lu s t ( d i s t ( x ) , method = 'ave') 6 l ayout ( matrix ( c ( 1 , 1 , 2 , 3 ) , nrow = 2 , byrow = T) ) p l o t ( hc1 ) ; p l o t ( hc2 ) ; p l o t ( hc3 ) 聚類(lèi)過(guò)程中我們可能只需要對(duì)象的分類(lèi)信息,,那么使用 cutree() 函數(shù)也是不錯(cuò)的選擇: 1 cut r e e ( hc , k = 1 : 3 ) 當(dāng)然還有專(zhuān)做聚類(lèi)的包:cluster 1 l i b r a r y ( c l u s t e r ) c l u s p l o t ( x , pam(x , 2) $ c l u s t e r i n g ) 123. 如何做主成分分析,? stats 包中的 princomp 函數(shù)。 ( pc . c r princomp ( USArrests , cor = TRUE) ) 2 p lo t ( pc . c r , type = 'lines' # o r ” b a r p l o t ” ) # o r s c r e e p l o t 4 l o ad ing s ( pc . c r ) princomp() 中的參數(shù) cor = TRUE 表示使用樣本相關(guān)矩陣作主成分分析,,反之使用樣本協(xié)方差矩 陣,。loadings() 返回因子荷載。screeplot() 繪制碎石圖,。 124. 怎樣做因子分析,? 在 R 中,使用factanal() 函數(shù)對(duì)矩陣進(jìn)行極大似然因子分析,。 example ( f a c t ana l ) 125. 如何對(duì)樣本數(shù)據(jù)進(jìn)行正態(tài)檢驗(yàn),? 比較常見(jiàn)的方法:shapiro.test() ,ks.test()(Kolmogorov-Smirnov 檢驗(yàn)) ,,jarque.bera.test() (需要 tseries 包),。或者參考專(zhuān)門(mén)用作正態(tài)檢驗(yàn)的 normtest 包,,fBasics 包中的相關(guān)函數(shù),。這幾個(gè)包(包 括基礎(chǔ)包)大概提供了十幾種檢驗(yàn)函數(shù)。 29 126. 如何做配對(duì) t 檢驗(yàn),? 參考 t.test() 中的 paired 參數(shù),。 1 r e qu i r e ( s t a t s ) ## S t u d e n t ’ s p a i r e d t? t e s t 3 t . t e s t ( ext ra ? group , data = s l eep , pa i r ed = TRUE) 這里需要注意的是數(shù)據(jù)的錄入形式(主要區(qū)別于 SPSS): 事實(shí)上如果你熟悉統(tǒng)計(jì)檢驗(yàn)的話,你完全可以使用 1 apropos ('test') 來(lái)返回所有關(guān)于 “檢驗(yàn)” 的信息,。比如一些常用的檢驗(yàn): extra group 0.7 1 -0.6 1 · · · · · · 4.6 2 3.4 2 bartlett.test 方差齊次性檢驗(yàn) binom.test 二項(xiàng)檢驗(yàn) chisq.test χ2 檢驗(yàn) cor.test 相關(guān)性檢驗(yàn) fisher.test Fisher 精確檢驗(yàn) friedman.test Friedman 秩和檢驗(yàn) kruskal.test Kruskal-Wallis 秩和檢驗(yàn) mcnemar.test McNemar 檢驗(yàn) pairwise.t.test 均值的多重比較 PP.test Phillips-Perron 檢驗(yàn) var.test 方差比檢驗(yàn) wilcox.test Wilcoxon 秩和檢驗(yàn) 盡情享用吧,! 127. R 如何做結(jié)構(gòu)方程模型? 參考 sem 包,。 128. 多項(xiàng)式回歸應(yīng)該使用什么函數(shù),? 使用 I() ,例如: 1 lm(y ? x + I (x?2) + I (x ?3)) 129. 如何使用方差分析(ANOVA),? 方差分析同線性回歸模型很類(lèi)似,,畢竟它們都是線性模型。最簡(jiǎn)單實(shí)現(xiàn)方差分析的函數(shù)為 aov(),,通 過(guò)規(guī)定函數(shù)內(nèi)公式形式來(lái)指定方差分析類(lèi)型: 方差分析 aov(x ? a) 單因素方差分析 aov(x ? a + b) 沒(méi)有交互作用的雙因素方差分析 aov(x ? a + b +a:b) 有交互作用的雙因素方差分析 aov(x ? a*b) 同上 30 130. 如何求解沒(méi)有常數(shù)項(xiàng)的線性回歸模型,? 只需在公式中引入 0 即可: 1 r e s u l t lm( smokes ? 0 + male + female , data=smokerdata ) 131. 如何計(jì)算回歸模型參數(shù)的置信區(qū)間? 參考 confint函數(shù),,glm 模型和 nls 模型可參考 MASS 包中的 confint.glm和 confint.nls函數(shù),。 1 f i t lm(100 /mpg ? d i sp + hp + wt + am, data=mtcars ) c on f i n t ( f i t ) 3 c on f i n t ( f i t , 'wt') 132. logistic 回歸相關(guān)函數(shù)是? logistic 回歸是關(guān)于響應(yīng)變量為 0–1 定性變量的廣義線性回歸問(wèn)題,,這里需要使用廣義線性模型 glm() 函數(shù),,且廣義線性模型的分布族為二項(xiàng)分布。 廣義線性模型中的常用分布族 分布 函數(shù) 模型 高斯(Gaussian)a E(y) = xTβ 普通線性模型 二項(xiàng)(Binomial) E(y) = exp (xT β) 1+exp (xT β) Logistic 模型和概率單位(probit)模型 泊松(Poission) E(y) = exp (xTβ) 對(duì)數(shù)線性模型 a正態(tài)(Normal) 高斯(正態(tài))分布族的廣義線性模型事實(shí)上同線性模型是相同的,,即 1 f i t 1 glm ( formula , fami ly = gauss ian , data ) 同線性模型 1 f i t 1 lm( formula , data ) 得到的結(jié)論是一致的,,當(dāng)然效率會(huì)差很多。 133. 如何使用正交多項(xiàng)式回歸,? 我們考慮回歸方程: yi = β0 + β1xi + β2x2i + . . .+ βkx k i , i = 1, 2, . . . , n, 當(dāng)多項(xiàng)式的次數(shù) k 比較大時(shí),,x, x2, . . . , xk 會(huì)出現(xiàn)線性相關(guān)問(wèn)題。故需要使用正交多項(xiàng)式回歸來(lái)克 服這方面的缺點(diǎn),。在 R 中,,使用 poly() 函數(shù): 1 ( z poly ( 1 : 1 0 , 3 ) ) 134. 如何求帽子矩陣? 參考 hat(),hatvalues() 函數(shù),。 135. D-W 檢驗(yàn)在哪里,? 31 car 包中的 durbin.watson 函數(shù),lmtest 包中的 dwtest 函數(shù),。 1 help . search ('Durbin-Watson') 136. 如何求 Spearman 等級(jí)(或 kendall)相關(guān)系數(shù) cor() 函數(shù)默認(rèn)為求出 Person 相關(guān)系數(shù),,修改其 method 參數(shù)即可求得 Kendall τ 和 Spearman 秩 相關(guān)系數(shù)。 1 cor ( long l ey , method = 'spearman') 名稱(chēng) 方法 用途(條件) Pearson 線性 正態(tài)總體假定 Kendall τ 協(xié)同 非參數(shù)檢驗(yàn) Spearman 樣本秩 非參數(shù)檢驗(yàn) 137. 如何做 Decision Tree,? 基于樹(shù)型方法的模型(Tree-based model)并不被統(tǒng)計(jì)學(xué)背景的研究者所熟悉,,但它在其他領(lǐng)域卻時(shí) 常被廣泛應(yīng)用。下面是 Modern Applied Statistics With S 中的例子,,需要加載 rpart 包,。 1 l i b r a r y ( rpar t ) s e t . seed (123) 3 cpus . rp rpar t ( log10 ( pe r f ) ? . , cpus [ , 2 : 8 ] , cp = 1e?3) p l o t ( cpus . rp , uniform = T) 5 t ex t ( cpus . rp , d i g i t s = 3) 138. 如何使用時(shí)間序列相關(guān)模型? 假設(shè) 2t 是一組均值為 0,,方差為 σ2 的不相關(guān)的序列,,那么我們定義 q 階滑動(dòng)平均模型為 Xt = q∑ 0 βj2t?j p 階自回歸模型: Xt = p∑ 1 αiXt?i + 2t 定義 ARMA(p, q) 過(guò)程為 Xt = p∑ 1 αiXt?i + q∑ 0 βj2t?j 我們將加入季節(jié)因素的 arma模型稱(chēng)為 arima模型,R中使用 arima(x, order = c(0, 0, 0), seasonal = list(order = c(0, 0, 0)) 對(duì)模型進(jìn)行擬合: 1 r e qu i r e ( g raph i c s ) ( f i t 1 arima ( pre s ident s , c (1 , 0 , 0 ) ) ) 3 t sd i a g ( f i t 1 ) 32 139. box-cox 變換,? MASS 包中的 1 boxcox ( ) 函數(shù),。 140. 檢驗(yàn)異方差的 Breusch-Pagan 檢驗(yàn)? lmtest 包中的 bptest() 函數(shù),,或者利用 car 包中的 ncv.test() 函數(shù) 141. 如何做判別分析,? 參考 MASS 包中的 lda() 函數(shù)(Fisher Linear D iscriminant Analysis)和 qda() 函數(shù)。 142. 計(jì)算 OLS 有沒(méi)有簡(jiǎn)便方法? 有,,可以使用函數(shù) qr.solve() ,, 1 qr . s o l v e (X, y ) 等價(jià)于 (X ′X)?1X ′y 143. 如何進(jìn)行典型相關(guān)分析? 典型相關(guān)分析是用于研究?jī)山M隨機(jī)變量之間的相關(guān)性的一種統(tǒng)計(jì)方法,。R 提供了 cancor() 函數(shù)進(jìn) 行相關(guān)計(jì)算,。 1 pop Li f eCyc l eSav ings [ , 2 : 3 ] oec Li f eCyc l eSav ings [ , ? (2 :3) ] 3 cancor (pop , oec ) 144. 如何使用 R 做生存分析? 需要加載 survival 包,。 1 # f i t a K a p l a n ?M e i e r a n d p l o t i t f i t s u r v f i t ( Surv ( time , s t a tu s ) ? x , data=aml ) 3 p lo t ( f i t ) # l i f e t a b l e 5 cbind ( f i t $ time , f i t $n . r i s k , f i t $n . event , f i t $ surv ) 注意 survfit 函數(shù)中分析方法 type 中有 “kaplan-meier”,“fleming-harrington”, “fh2” 三種方法可以選 擇,。 §J 其他 145. R 可以使用網(wǎng)頁(yè)來(lái)顯示結(jié)果么? 33 可以。包 Rpad 提供基于同 R 的網(wǎng)頁(yè)接口,,假設(shè)已經(jīng)安裝了包 Rpad ,,可以在本地查看 Rpad 的效 果: 1 l i b r a r y (Rpad) Rpad ( ) # e n j o y i t 146. R 有類(lèi)似于 SPSS 的界面么? 有,!安裝包 Rcmdr ,,加載包后,使用命令 Commander ( ) 調(diào)出可供使用的圖形使用界面,。由于這個(gè)圖形使用界面需要若干基礎(chǔ)包外的其他函數(shù),,故還需要包 car 、effects ,、abind,、lmtest、multcomp,、relimp,、RODBC、rgl 的支持,。 147. 怎樣來(lái)計(jì)算函數(shù)運(yùn)行使用時(shí)間,? 使用 system.time()。proc.time()可以獲得 R進(jìn)程存在的時(shí)間,,system.time()通過(guò)調(diào)用兩次 proc.time() 來(lái)計(jì)算函數(shù)運(yùn)行的時(shí)間,。 148. 在 R 中如何處理地圖數(shù)據(jù)? R 提供了 maps 和 mapdata 兩個(gè)包來(lái)繪制地圖,,其中 mapdata 提供了中國(guó)地圖的相關(guān)信息: 1 l i b r a r y (mapdata ) map('china') 不過(guò)可惜,,這種方法得到的中國(guó)地圖沒(méi)有重慶的行政區(qū)劃,且各省的名稱(chēng)都是用數(shù)字拼裝而成,,不 能用 map 包中的函數(shù)像對(duì) map('state') 一樣進(jìn)行進(jìn)一步加工,。 不過(guò)如果你熟悉地理數(shù)據(jù),那么 maptools 包將是一個(gè)不錯(cuò)的選擇,。她可以讀取,、處理空間對(duì) 象,且提供了同 PBSmapping, spatstat, maps, RArcInfo, Stata tmap, WinBUGS, Mondrian 這類(lèi)包 的封裝接口,。 149. Sweave 是用來(lái)做什么的,? Sweave 提供了一種為 “混排 TEX 文本和 S 編碼” 生成文檔的機(jī)制。單個(gè)的 Sweave 文檔中既包含 TEX 文本又包含 S 編碼,,通過(guò)編譯最終形成的文檔包含: · TEX 文檔的編譯輸出,; · S 編碼和(或); · S 編碼的代碼輸出(文本,、圖形),。 如果想了解更多,,請(qǐng)參考 Sweave User Manual,或參考附錄 A:Sweave 的實(shí)例,。 它的文檔形成過(guò)程: 34 Sweave 文檔 Sweave(in R)????????→ TEX文檔 L ATEX??????→ dvipdfmx 最終 pdf 文檔 150. 如何釋放 R 運(yùn)行后占用的內(nèi)存,? 使用函數(shù) 1 gc ( ) 因?yàn)?R 是在內(nèi)存中運(yùn)算,所以當(dāng) R 讀入了體積比較大的數(shù)據(jù)后,,即使刪除了相關(guān)對(duì)象,,內(nèi)存空間 仍不能釋放。gc() 函數(shù)雖然主要用來(lái)報(bào)告內(nèi)存使用情況,,但是一個(gè)重要的用途便是釋放內(nèi)存。 151. 用什么文本編輯器比較好,? 比較常用的是 Tinn–R ,,RWinEdt 9 ,ESS(Emacs Speaks Statistics) ,,甚至任意一款編輯器,,如 UltraEdit10,這些都支持 R 語(yǔ)法的高亮顯示,。如果是 Windows 桌面環(huán)境下的用戶,,對(duì)這些不是很 了解,記事本也不失為一種選擇,。 9下載,、安裝 WinEdt 后,在 R 中安裝 RWinEdt 包即可使用 10需要下載,、修改 wordfile 35 附錄 A Sweave 例 \documentclass[CJK]{cctart} \usepackage{verbatim} \title{Sweave 實(shí)例} \author{} \date{} \SweaveOpts{echo=FALSE} \begin{document} \maketitle 使用 Sweave 可以很容易地將 \LaTeX{} 同 R 的代碼混排文檔轉(zhuǎn)化為可 編譯的 \LaTeX{} 文檔,。 在這種混排的文檔里,基本結(jié)構(gòu)仍然是 \LaTeX{} 形式的,,唯一的區(qū)別是,, R 代碼需要放置在以 $<<>>=$ 為開(kāi)頭,$@$為結(jié)尾的段落里面,。開(kāi)頭部分 有兩個(gè)常用的參數(shù):echo和fig,使用邏輯值分別表示是否將 R 代碼輸入 作為 \LaTeX{} 文本輸出,;是否在 \LaTeX{} 文檔中繪制圖形。 這篇文檔只需要在 R 中編譯一遍,,即可形成\LaTeX{}需要的輸出(文件),。 下面是一個(gè)配對(duì) t 檢驗(yàn)的一個(gè)例子: < require(stats) ## Student’s paired t-test m <- t.test(extra ? group, data = sleep, paired = TRUE) print(m) @ R 在計(jì)算過(guò)程中生成的的中間結(jié)果很容易插入到標(biāo)準(zhǔn)文檔, 比如\texttt{sleep}數(shù)據(jù)的雙樣本的配對(duì)t檢驗(yàn)結(jié)果 中的$p$-value是\Sexpr{format.pval(m$p.value)},; 或者是直接運(yùn)算 < choose(49,6) @ 美國(guó)威力球(類(lèi)似于福彩雙色球)的理論組合數(shù)等于\Sexpr{choose(49,6)},。 通過(guò)這種方法處理‘‘有大量計(jì)算’’的文檔,比 word 不知方便多少倍,。 36 R 代碼中可以隨意寫(xiě)注釋?zhuān)@些注釋默認(rèn)不會(huì)被輸出,。如果要求輸出注釋?zhuān)?br>抱歉,,現(xiàn)在還沒(méi)有更好的解決辦法。 使用 Sweave 還可以將 R 生成的圖形加入到 \LaTeX{} 文檔中,,而不必事先 做出 \LaTeX{} 需要的圖形文件\footnote{Sweave會(huì)自動(dòng)生成 ps 和 pdf 圖形},。 下圖是根據(jù)Titanic號(hào)海難中人員的經(jīng)濟(jì)狀況、性別,、年齡和是否存活四 個(gè)變量繪制的馬賽克圖: < require(graphics) mosaicplot(Titanic, main = 'Survival on the Titanic') @ \end{document} Copyright c?2008 R and all the Contributors to R FAQ. All rights reserved. R 以及 R FAQ 的作者擁有版權(quán) c?2008,。保留所有權(quán)利。 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being Contributors, no Front-Cover Texts, and no Back-Cover Texts. 你可以拷貝,、發(fā)布或者修改這份文檔,,但必須遵守 自由軟件組織 頒布的 GNU 自由文檔許可證 1.2 或者以后版本 的條款。Invariant Sections 包括 Contributors,,沒(méi)有 Front-Cover Texts 和 Back-Cover Texts,。 37 索 引 Symbols \\ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 .packages . . . . . . . . . . . . . . . . . . . . . 6 / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 %*% . . . . . . . . . . . . . . . . . . . . . . . . 15 ?. . . . . . . . . . . . . . . . . . . . . . . . .16, 30 {} . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 A abline . . . . . . . . . . . . . . . . . . . . . . . 20 aggregate . . . . . . . . . . . . . . . . . . . . 13 any . . . . . . . . . . . . . . . . . . . . . . . . . . 11 aov . . . . . . . . . . . . . . . . . . . . . . . . . . 30 aperm . . . . . . . . . . . . . . . . . . . . . . . 12 append . . . . . . . . . . . . . . . . . . . . . . 10 apply. . . . . . . . . . . . . . . . .12, 16, 25 as.Date . . . . . . . . . . . . . . . . . . . . . . 18 as.numeric . . . . . . . . . . . . . . . . . . . 20 as.POSIXct . . . . . . . . . . . . . . . . . . 18 axes . . . . . . . . . . . . . . . . . . . . . . . . . 21 axis. . . . . . . . . . . . . . . . . . . . . . . . . .21 B barplot . . . . . . . . . . . . . . . . . . . . . . 23 boxcox. . . . . . . . . . . . . . . . . . . . . . .33 bptest . . . . . . . . . . . . . . . . . . . . . . . 33 Breusch-Pagan. . . . . . . . . . . . . . .33 C cancor . . . . . . . . . . . . . . . . . . . . . . . 33 capture.output . . . . . . . . . . . . . . . . 8 car . . . . . . . . . . . . . . . . . . . . . . . . 7, 33 casefold. . . . . . . . . . . . . . . . . . . . . .17 choose . . . . . . . . . . . . . . . . . . . . . . . 16 citation . . . . . . . . . . . . . . . . . . . . . . . 3 clipboard . . . . . . . . . . . . . . . . . . . . . 8 cluster . . . . . . . . . . . . . . . . . . . . . . . 29 cm.colors . . . . . . . . . . . . . . . . . . . . 23 col . . . . . . . . . . . . . . . . . . . . . . . . . . .23 col2rgb . . . . . . . . . . . . . . . . . . . . . . 23 colMeans . . . . . . . . . . . . . . . . . . . . 16 colors . . . . . . . . . . . . . . . . . . . . . . . . 23 combn . . . . . . . . . . . . . . . . . . . . . . . 16 Commander . . . . . . . . . . . . . . . . . 34 complex . . . . . . . . . . . . . . . . . . . . . 15 confint. . . . . . . . . . . . . . . . . . . . . . .31 confint.glm . . . . . . . . . . . . . . . . . . 31 confint.nls . . . . . . . . . . . . . . . . . . . 31 contour . . . . . . . . . . . . . . . . . . . . . . 25 crossprod . . . . . . . . . . . . . . . . . . . . 15 cumsum. . . . . . . . . . . . . . . . . .12, 24 curve . . . . . . . . . . . . . . . . . . . . . . . . 24 cutree . . . . . . . . . . . . . . . . . . . . . . . 29 D D. . . . . . . . . . . . . . . . . . . . . . . . . . . .16 data . . . . . . . . . . . . . . . . . . . . . . . . . . 6 data frame . . . . . . . . . . . . . . . . 6, 12 demo . . . . . . . . . . . . . . . . . . . . . . . . . 3 detach . . . . . . . . . . . . . . . . . . . . . . . . 5 dev.copy . . . . . . . . . . . . . . . . . . . . . 24 dev.cur . . . . . . . . . . . . . . . . . . . . . . 22 dev.list . . . . . . . . . . . . . . . . . . . . . . 22 dev.off . . . . . . . . . . . . . . . . . . . . . . . 22 dev.set . . . . . . . . . . . . . . . . . . . . . . 22 Devices . . . . . . . . . . . . . . . . . . . . . . 22 diag . . . . . . . . . . . . . . . . . . . . . . . . . 15 difftime . . . . . . . . . . . . . . . . . . . . . . 18 duplicated . . . . . . . . . . . . . . . . . . . 12 durbin.watson . . . . . . . . . . . . . . . 32 dwtest . . . . . . . . . . . . . . . . . . . . . . . 32 E edit . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 eigen . . . . . . . . . . . . . . . . . . . . . . . . 15 ESS . . . . . . . . . . . . . . . . . . . . . . . . . 35 eval. . . . . . . . . . . . . . . . . . . . . . . . . .10 F factanal. . . . . . . . . . . . . . . . . . . . . .29 factorial . . . . . . . . . . . . . . . . . . . . . 16 FALSE . . . . . . . . . . . . . . . . . . . . . . 12 file.choose. . . . . . . . . . . . . . . . . . . . .9 filled.contour . . . . . . . . . . . . . . . . 25 fivnum. . . . . . . . . . . . . . . . . . . . . . .14 fix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 format . . . . . . . . . . . . . . . . . . . . . . . 18 G gc . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 getAnywhere. . . . . . . . . . . . . . . . . .7 getwd. . . . . . . . . . . . . . . . . . . . . . . . .5 glm. . . . . . . . . . . . . . . . . . . . . . . . . . 31 gray . . . . . . . . . . . . . . . . . . . . . . . . . 23 grep . . . . . . . . . . . . . . . . . . . . . . . . . 18 grey . . . . . . . . . . . . . . . . . . . . . . . . . 23 grid . . . . . . . . . . . . . . . . . . . . . . . . . 21 H hat,hatvalues . . . . . . . . . . . . . . . . 31 hclust . . . . . . . . . . . . . . . . . . . . . . . 29 head . . . . . . . . . . . . . . . . . . . . . . . . . . 7 heat.colors . . . . . . . . . . . . . . . . . . . 23 help . . . . . . . . . . . . . . . . . . . . . . . . . . 3 help.search. . . . . . . . . . . . . . . . . . . .3 I I . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 identical . . . . . . . . . . . . . . . . . . . . . 11 if . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 image. . . . . . . . . . . . . . . . . . . . . . . .25 integer . . . . . . . . . . . . . . . . . . . . . . .15 38 integrate. . . . . . . . . . . . . . . . . . . . .14 iris . . . . . . . . . . . . . . . . . . . . . . . . . . 20 is.na . . . . . . . . . . . . . . . . . . . . . . . . . 10 is.numeric . . . . . . . . . . . . . . . . . . . 13 J jarque.bera.test . . . . . . . . . . . . . . 29 jpeg . . . . . . . . . . . . . . . . . . . . . . . . . 23 K kmeans . . . . . . . . . . . . . . . . . . . . . . 28 ks.test . . . . . . . . . . . . . . . . . . . . . . . 29 L latex . . . . . . . . . . . . . . . . . . . . . . . . . .9 latex.table . . . . . . . . . . . . . . . . . . . . 9 layout . . . . . . . . . . . . . . . . . . . . . . . 19 lda . . . . . . . . . . . . . . . . . . . . . . . . . . 33 legend . . . . . . . . . . . . . . . . . . . . . . . 20 letters . . . . . . . . . . . . . . . . . . . . . . . 23 Library . . . . . . . . . . . . . . . . . . . . . . . 5 library . . . . . . . . . . . . . . . . . . . . . . . . 5 lines . . . . . . . . . . . . . . . . . . . . . . . . . 24 list . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 lm . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 lmtest . . . . . . . . . . . . . . . . . . . . . . . 33 loadings . . . . . . . . . . . . . . . . . . . . . 29 lower.tri . . . . . . . . . . . . . . . . . . . . . 16 ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 M mai . . . . . . . . . . . . . . . . . . . . . . . . . . 19 mar . . . . . . . . . . . . . . . . . . . . . . . . . 19 matrix . . . . . . . . . . . . . . . . . . . 12, 16 memory.limit . . . . . . . . . . . . . . . . . 4 merge . . . . . . . . . . . . . . . . . . . . . . . 14 methods . . . . . . . . . . . . . . . . . . . . . . 7 N nchar . . . . . . . . . . . . . . . . . . . . . . . . 18 ncv.test . . . . . . . . . . . . . . . . . . . . . .33 NULL . . . . . . . . . . . . . . . . . . . . . . . 12 O optimize . . . . . . . . . . . . . . . . . . . . . 17 options . . . . . . . . . . . . . . . . . . . . . . . 4 outer . . . . . . . . . . . . . . . . . . . . . . . . 15 P Package. . . . . . . . . . . . . . . . . . . . . . .5 par . . . . . . . . . . . . . . . 19, 21, 25, 26 parplot . . . . . . . . . . . . . . . . . . . . . . 26 parse . . . . . . . . . . . . . . . . . . . . . . . . 10 paste . . . . . . . . . . . . . . . . . . . . . .4, 17 pch . . . . . . . . . . . . . . . . . . . . . . . . . . 20 pdf . . . . . . . . . . . . . . . . . . . . . . . . . . 23 persp . . . . . . . . . . . . . . . . . . . . . . . . 25 pictex . . . . . . . . . . . . . . . . . . . . . . . 23 pie . . . . . . . . . . . . . . . . . . . . . . . . . . 21 plotmath . . . . . . . . . . . . . . . . . . . . 26 pmax . . . . . . . . . . . . . . . . . . . . . . . . 13 pmin . . . . . . . . . . . . . . . . . . . . . . . . 13 png . . . . . . . . . . . . . . . . . . . . . . . . . . 23 points . . . . . . . . . . . . . . . . . . . . . . . 19 poly . . . . . . . . . . . . . . . . . . . . . . . . . 31 postscript. . . . . . . . . . . . . . . . . . . .23 princomp . . . . . . . . . . . . . . . . . . . . 29 print . . . . . . . . . . . . . . . . . . . . . . . . . .9 proc.time . . . . . . . . . . . . . . . . . . . . 34 prompt . . . . . . . . . . . . . . . . . . . . . . . 4 Q qda . . . . . . . . . . . . . . . . . . . . . . . . . . 33 qqnorm . . . . . . . . . . . . . . . . . . . . . . 25 qr.solve . . . . . . . . . . . . . . . . . . . . . . 33 Quantile Regression. . . . . . . . . .28 R rainbow . . . . . . . . . . . . . . . . . . . . . 23 Rcmdr. . . . . . . . . . . . . . . . . . . . . . .34 read.table . . . . . . . . . . . . . . . . . . . . .8 read.xls . . . . . . . . . . . . . . . . . . . . . . . 8 rect. . . . . . . . . . . . . . . . . . . . . . . . . .26 Regular Expressions. . . . . .12, 18 rev . . . . . . . . . . . . . . . . . . . . . . . . . . 13 rgb . . . . . . . . . . . . . . . . . . . . . . . . . . 23 rm. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 RMySQL . . . . . . . . . . . . . . . . . . . . 10 rnorm . . . . . . . . . . . . . . . . 17, 21, 24 RODBC . . . . . . . . . . . . . . . . . . . . . 10 rowMeans . . . . . . . . . . . . . . . . . . . 16 Rpad . . . . . . . . . . . . . . . . . . . . . . . . 34 rpart . . . . . . . . . . . . . . . . . . . . . . . . 32 RSiteSearch. . . . . . . . . . . . . . . . . . .3 RWinEdt . . . . . . . . . . . . . . . . . . . . 35 S sample. . . . . . . . . . . . . . . . . . . . . . .13 save . . . . . . . . . . . . . . . . . . . . . . . . . . 5 save.image . . . . . . . . . . . . . . . . . . . . 5 savePlot . . . . . . . . . . . . . . . . . . . . . 23 scale . . . . . . . . . . . . . . . . . . . . . . . . . 14 screeplot . . . . . . . . . . . . . . . . . . . . .29 search . . . . . . . . . . . . . . . . . . . . . . . . 6 sem. . . . . . . . . . . . . . . . . . . . . . . . . .30 setwd . . . . . . . . . . . . . . . . . . . . . . . . . 5 shapiro.test . . . . . . . . . . . . . . . . . . 29 shell.exec . . . . . . . . . . . . . . . . . . . . . 4 show.error.messages . . . . . . . . . . 4 sink . . . . . . . . . . . . . . . . . . . . . . . . 8, 9 some. . . . . . . . . . . . . . . . . . . . . . . . . .7 sort. . . . . . . . . . . . . . . . . . . . . . . . . .21 source . . . . . . . . . . . . . . . . . . . . . . . . 9 spline . . . . . . . . . . . . . . . . . . . . . . . . 24 split.screen . . . . . . . . . . . . . . . . . . 19 sqrt. . . . . . . . . . . . . . . . . . . . . . . . . .16 stars . . . . . . . . . . . . . . . . . . . . . . . . . 22 stats . . . . . . . . . . . . . . . . . . . . . . . . . 29 stem. . . . . . . . . . . . . . . . . . . . . . . . . 21 39 step . . . . . . . . . . . . . . . . . . . . . . . . . 28 strwrap . . . . . . . . . . . . . . . . . . . . . . 21 subset . . . . . . . . . . . . . . . . . . . . . . . 11 substr . . . . . . . . . . . . . . . . . . . . . . . 18 summary . . . . . . . . . . . . . . . . . . . . 14 survfit . . . . . . . . . . . . . . . . . . . . . . . 33 Sweave . . . . . . . . . . . . . . . . . . . . . . 34 system. . . . . . . . . . . . . . . . . . . . . . . . 4 system.time . . . . . . . . . . . . . . 16, 34 T t. . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 t.test . . . . . . . . . . . . . . . . . . . . . . . . 28 table . . . . . . . . . . . . . . . . . . . . . . . . 27 tail . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 tapply . . . . . . . . . . . . . . . . . . . . . . . 13 terrain.colors . . . . . . . . . . . . . . . . 23 Tinn-R . . . . . . . . . . . . . . . . . . . . . . 35 tolower . . . . . . . . . . . . . . . . . . . . . . 17 topo.colors. . . . . . . . . . . . . . . . . . .23 toupper. . . . . . . . . . . . . . . . . . . . . .17 transform. . . . . . . . . . . . . . . . . . . . 12 tseries . . . . . . . . . . . . . . . . . . . . . . . 29 U unique . . . . . . . . . . . . . . . . . . . . . . . 11 uniroot . . . . . . . . . . . . . . . . . . . . . . 16 update. . . . . . . . . . . . . . . . . . . . . . .27 update.packages . . . . . . . . . . . . . . 5 upper.tri . . . . . . . . . . . . . . . . . . . . .16 W windows . . . . . . . . . . . . . . . . . . . . . 23 with . . . . . . . . . . . . . . . . . . . . . . . . . 20 X xlsReadWrite . . . . . . . . . . . . . . . . . 8 xtable . . . . . . . . . . . . . . . . . . . . . . . . 9 40 |
|
來(lái)自: 湖北劉恒 > 《數(shù)據(jù)分析》