r語言—介紹 - 數(shù)學建模學習資源站_第1頁
已閱讀1頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1,R語言—介紹,數(shù)理信息學院湯銀才,2,R介紹,為什么要學習R語言R的資源 資料與文獻 網(wǎng)站 統(tǒng)計分析軟件包R的運行平臺 R_GUI R_Commander R_WinEdt R_ESS+XEmacs,3,,語言/軟件使用示例John Verzani, Simple R – Using R for Introductory Statistics, 2002 http://www.math.csi.cuny.ed

2、u/Statistics/R/simpleR/index.htmlJ.H. Maindonald, Using R for Data Analysis and Graphics – An Introduction, 2001Julian J. Faraway, Practical Regression and ANOVA Uing R, 2002http://www.stat.lsa.umich.edu/~faraway/快速入

3、門:http://www.stat.lsa.umich.edu/~faraway/ stat500/introR.html S. Chatterjee, A.S. Hadi & B. Price, Regression Analysis by Example, 3rd Ed., John Wiley & Sons, 2000http://www.ilr.cornell.edu/~hadi/RABE/ (印影版,

4、中國統(tǒng)計出版社,2003),4,R的無私奉獻者,Bill Venables,Robert Gentleman,Ross Ihaka,5,為什么要學習R語言,R是一個開放(GPL)的統(tǒng)計編程環(huán)境一種語言,是S語言(由AT&T Bell實驗室的Rick Becker, John Chambers,Allan Wilks開發(fā))的一種方言(dialect) 之一,另一則為S-plus.一種軟件,是集統(tǒng)計分析與圖形直觀顯示于一體的統(tǒng)

5、計分析R作為一個計劃(project),最早(1995年)是由Auckland大學統(tǒng)計系的Robert Gentleman和Ross Ihaka開始編制,目前由R核心開發(fā)小組(R Development Core Team – 以后用R DCT表示)維護,他們完全自愿、工作努力負責,并將全球優(yōu)秀的統(tǒng)計應用軟件打包提供給我們。我們可以通過R計劃的網(wǎng)站(http://www.r-project.org)了解有關R的最新信息和使用說明,得到

6、最新版本的R軟件和基于R的應用統(tǒng)計軟件包.,6,,R是完全免費的!! 而S-Plus盡管是非常優(yōu)秀的統(tǒng)計分析軟件,可是你需要支付一筆$US .R可以在運行于UNIX, Windows和Macintosh的操作系統(tǒng)上 .R嵌入了一個非常實用的幫助系統(tǒng).R具有很強的作圖能力.我們將R程序容易地移植到S-Plus程序中,反之S的許多過程直接或稍作修改用于R.通過R語言的許多內(nèi)嵌統(tǒng)計函數(shù),很容易學習和掌握R語言的語法.我們可以編制自

7、己的函數(shù)來擴展現(xiàn)有的R語言(這就是為什么它在不斷等級完善!!)…....,7,網(wǎng)站—R的資源,R主頁: http://www.r-project.orgCRAN (Comprehensive R Archive Network), http://cran.r-project.orgCRAN的鏡像站點 http://cran.r-project.org/mirrors.htmlUCLA提供的關于R與S-Plus的聯(lián)接

8、,具有搜索功能 http://statcomp.ats.ucla.edu/splus/default.htm李東風主頁提供了R的Windows版本 http://cn.math.pku.edu.cn/teachers/lidf/index.html如果使用FTP軟件(如Cuteftp)則推薦使用(匿名訪問)ftp.u-aizu.ac.jp,8,統(tǒng)計分析軟件包,CRAN提供了許多便于統(tǒng)計分析的宏包:http://cra

9、n.r-project.org/src/contrib/PACKAGES.htmlstable -- 穩(wěn)妥(分布)廣義回歸分析tseries – 時間序列分析 VaR – 風險值分析matrix – 矩陣運算cinterface – C與R的接口foreign – 讀寫由S, Minitab, SAS, SPSS, Stata等軟件的數(shù)據(jù)normix – 混合正態(tài)分布分析nortest – 正態(tài)分布的Anderson-

10、Darling檢驗MCMCpack – 基于Gibbs抽樣的MCMC抽樣方法 fracdiff – 分數(shù)差分模型的極大似然估計 還有很多……,9,,參考資料 隨軟件所附pdf文檔(help->manuals),隨版本更新:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environmen

11、t for Data Analysis and Graphics, 2003.http://bayes.math.montana.edu/Rweb/Rnotes/R.htmlR DCT, The R Environment for Statistical Computing and Graphics -- Reference Index,2003.R DCT, R Data Import/Export, 2003.R DCT,

12、R Language Definition,2003R DCT, Writing R Extensions,2003,10,,Kurt Hornik, R FAQ, Version 1.8-1, 2003-10-07 B. D. Ripley, R for Windows FAQ, Version for rw1080R Html Help, Statistical Data Analysis 其它PDF/HTML文件:

13、Kickstarting R, http://cran.r-project.org/doc/contrib/ Lemon-kickstart/R examples, Alison Gibbs, http://www.utstat.toronto.edu/alisong/Teaching/ Winter04/Sta248/Rex.html,11,,*Ko-Kang Wang, Introduction to R for Statis

14、ticians,2004J.H. Maindonald, Using R for Data Analysis and Graphics – An Introduction, 2001J.H. Maindonald, Using S-PLUS for Data Analysis and Graphics, 2001Emmanuel Paradis, R for beginners Jonathan Baron, R referen

15、ce card Bret Larget, R for Introductory Statistics, 2002W. N. Venables and B. D. Ripley,Modern Applied Statistics with S,4th Ed., 2002 http://www.stats.ox.ac.uk/pub/MASS4/,12,,近期暢銷書:Peter Dalgaard, Introductory St

16、atistics with R, Springer, 2002John Maindonald, John Braun, Data Analysis and Graphics Using R -- An Example-based Approach, Cambridge University Press,2003John Fox, An R and S-Plus Companion to Applied Regression, Sag

17、e Publications, Inc., 2002,13,R的運行平臺-1,R_GUI啟動R,我們看到R GUI (graphic user’s interface)的主窗口, 它由三部分組成主菜單工具條R console (R的運行窗口)R console你的主要工作是在這里通過發(fā)布命令來完成的,包括數(shù)據(jù)集的建立,數(shù)據(jù)的分析,作圖等.在這里你可以得到在線幫助help.start() HTML格式的關于R的幫助文

18、件help() 得到相應函數(shù)的幫助,例如help(plot)demo() 得到R提供的幾個示例q() 退出R 同Matlab類似,用右shift鍵可以重現(xiàn)以前的命令,14,,工具條介紹,Source R code,Load image,Save image,Copy and Paste,Stop current computation,,,,,,,S

19、ource R code 執(zhí)行R文件(*.R或*.r)Save image 保存工作空間,文件名為*.RDataLoad image 打開已有的工作空間Stop current computation中止當前計算(由于超時等原因),15,,主菜單介紹,,,,,,,16,R的運行平臺-2,R_Commander (幫助文件) 作者: John Fox (j

20、fox@mcmaster.ca)版本:Rcmdr Version 0.9-0 安裝Rcmdr是R的一個宏包,它還需要宏包car的支持在加載Rcmdr宏包之前,需要先安裝宏包carRcmdr僅在單文件RGui (SDI)下工作,這可通過RGui的Edit=>GUI preferences…進行設置(注:好象均可?)運行安裝宏包car在RGui下通過Packages=>Load packages…加載Rcmdr

21、宏包,17,,18,,功能R Commander是一個交互式菜單/對話框系統(tǒng)(menu/dialog-box interfaces),用于進行數(shù)據(jù)的讀、寫、轉(zhuǎn)換及常用的統(tǒng)計分析.作者還添加了線性與廣義線性模型等統(tǒng)計分析工具. 結構與使用(具體見Rcmdr的Getting Started部分)R Commander窗口由一些菜單及按鈕組成.菜單的下方是一個log/script窗口通過菜單的對話框?qū)⒚畎l(fā)送到RGUI中,以完成某一

22、項統(tǒng)計分析.這些命令同時在log窗口中顯示出來.它們可以被重新編輯修改,并可通過Rcmdr窗口右下角的Submit按鈕再一次發(fā)送給R執(zhí)行命令指向一個當前的或者活動的數(shù)據(jù)集.一旦讀入一個新的數(shù)據(jù)集,它就是活動的.注:通過Data=>Import data加載數(shù)據(jù)集,其名字及路徑不能含有中文,而中R GUI中是允許的!!,19,,R Commander的菜單,R Commander 菜單樹(Menu Tree) (點擊),R Com

23、mander的信息反饋(information field),20,R的運行平臺-3,R_WinEdt – 安裝與使用作者: Uwe Ligges (ligges@statistik.uni-dortmund.de) 版本:RWinEdt Version 1.6.0必備軟件R: http://cran.r-project.org/WinEdt5.x: http://www.winedt.com/ (或CTeX2.3.x)

24、R-WinEdt: http://cran.r-project.org/contrib/extra/winedt/R_WinEdt的安裝將R_WinEdt壓縮軟件釋放到WinEdt的plugins\R-WinEdt目錄下雙擊install.exe文件進行進行安裝,由此會在WinEdt目錄下自動生成R.ini(此目錄還有winedt.exe!)在此我們假定大家已安裝了CTeX2.3.x,并進行缺省安裝,也即WinEdt在 C:\C

25、TeX\WinEdt 目錄下,21,,R_WinEdt的設置設置桌面快擊鍵: 為了同時可以使用LaTeX/CTeX和R_WinEdt,在桌面上復制一個WinEdt快擊鍵,并命名為R_WinEdt;右擊R_WinEdt快擊鍵,選擇屬性,然后在“目標(T)”中輸入 C:\CTeX\WinEdt\WinEdt -C="R-WinEdt" -e=r.ini(并不必須)如果每次運行R都想加載某個/些軟件包或

26、函數(shù),則可對R主目錄下etc下的.Rprofile進行修改,如每次加載simple宏包就可使用下面的設置library(simple)options(editor="\"c:/program files/winedt/winedt\"-c=\"R-WinEdt-edit\" -e=r.ini -V"),22,,R_WinEdt 界面,23,,R_WinEdt

27、菜單,24,,R_WinEdt的特點- 與RGui共同運行- 具有WinEdt的強大功能 (如Delimiter檢查, 高級搜索, 書簽,宏, 縮進與注釋的對齊等) - 語法高亮顯示(Syntax-Highlighting) - 同時可以編輯多個R程序- 設置簡單快速的按鈕與快擊鍵- 將窗口中的代碼(script)發(fā)送到R中運行- WinEdt中選中的代碼(code)發(fā)送到R中運行- 單行代碼(script)發(fā)送到R中

28、運行- 及時更新歷史命令記錄文件 .Rhistory,以便重復使用舊的命令- 提供衫的模塊,如: for(_ in _){_},25,,R_WinEdt – 菜單與熱鍵# Command Hot Key Menu Icon 說明#----------------------------------------------------

29、--------------------------------------------------# Brackets Check Ctrl+F12 {} 括號配對檢查# R History ALT+H R HIST. 保存歷史記錄# R-l

30、ine - and go ALT+L 單行發(fā)送# R-line Ctrl+ALT+L 單行發(fā)送并返回# R<- R-paste - and go ALT+P R<-PASTE 選中后發(fā)送# R<- R

31、-paste Ctrl+ALT+P 選中后發(fā)送并返回# R<- R-source - and go ALT+S R<-SOURCE R文件發(fā)送(先打開)# R<- R-script Ctrl+ALT+S R SCRIPT R文件發(fā)送并返回# function

32、 Ctrl+Alt+F 生成函數(shù)框架# for Ctrl+Alt+O 生成for循環(huán)框架# if Ctrl+Alt+I

33、 生成if框架# ifelse Ctrl+Alt+E 生成ifesle框架# <- Ctrl+- 生成賦值符號,26,R的運行平臺-4,R_

34、ESS+XEmacs – 安裝與使用 (作者: John Fox)關于ESS與XEmacsEmacs是一個功能強大廣為使用的編程器,可以進行配對檢查,語法高亮顯示,查錯(debugging)等. For some Unix/Linux users, Emacs is more a way of life than an editor.ESS(Emacs Speaks Statistics)可以為許多統(tǒng)計軟件定制相應的編程

35、環(huán)境,包括R, S-Pplus, SAS, Stata, Lisp-Stat等.Emacs主要有二個版本: GNU Emacs 和 XEmacs.由于使用了ESS,因此多個統(tǒng)計分析軟件可并存于同一平臺.John Fox的ESS設置提供了一個主窗口,上下二個子窗口: 上面的用于輸入R的源文件/代碼,下面的用于顯示這些R程序/代碼在XEmacs運行后的輸入與輸出結果.(點擊此處查看)XEmacs和ESS均是免費的!,27,,28,必

36、備軟件與安裝R: http://cran.r-project.org/Xmacs with Ess: http://www.xemacs.org/Download/win32/先下載Xemacs的安裝器(installer) setup.exe并運行,接著進行net安裝或下載Xemacs及必要的宏包。必要的宏包包括ess mail-libdired pc

37、ediff speedbar edit-utils vc efs xemacs-basefsf-compat xemacs-i586-pcwin32若你已下載了上述宏包,則可以選擇本地安裝(local directory),,29,XEmacs Netinstaller --- Install from the InternetPlease note that these screensh

38、ots do not contain the latest version numbers for XEmacs, its packages and the installer itself. They are meant to give you a general idea of what the download/installation process will look like.An overview of existing

39、 packages and their purpose may be found at http://www.xemacs.org/Develop/packages.htmland under the XEmacs source tree in etc/ PACKAGES.,,注:請選擇Native類型(這是Windows版的Xemacs),各站點的安裝或下載速度以及版本號有所不同.,去掉宏包, 點一下New一欄下對應的版本號

40、; 此版本號即被Skip所代替.,30,,R_ESS+XEmacs的設置我們假定R與XEmacs的目錄分別為R: C:\Program Files\R\rwxxxx\ (xxxx為版本號)Xemacs: C:\Program Files\Xemacs檢查系統(tǒng)的home目錄(WinXP/2000/NT下可在DOS方式下用命令 set HOME 檢查. 在此假定為c:\在home目錄下建立子目錄(用DOS命令mkdir) .x

41、emacs從John Fox的主頁下載設置文件fox-ess-config.zip , 地址為:http://socserv.socsci.mcmaster.ca/jfox/Books/Companion/ESS/index.html將解壓文件init.el改名為Rinit.el并復制到 .xemacs下,31,,將解壓文件function.xpm, line.xpm, para.xpm, region.xpm, sour

42、ce.xpm和stop.xpm復制到目錄 c:\Program Files\Xemacs\XEmacs-xx.y.z\etc\toolbar\ (xx.y.z為Xemacs的版本號),由此在Xemacs中建立R的工具條.(若沒有)添加系統(tǒng)搜索路徑: c:\Program Files\R\rwxxxx\bin (在WinXP/2000/NT中可由控制面板=>系統(tǒng)=>高級=>環(huán)境變量 中新建/添加

43、). 另一方法: 用純文本修改文件Rini.el中的關于R的搜索,即 (setq-default inferior-R-program-name “c:/Program Files/ rwxxxx/bin/rterm.exe”) ----也即只要去掉之前的分號(;).修改桌面圖標XEmacs的屬性: 在快捷方式的”目標”下添加 -q -l “c:\.xemacs\Rinit.el“, 在”起始位置”添加存放文件的目錄.,3

44、2,,ESS+XEmacs下R的使用 ---了解XEmacs視窗不是問題的問題:每次打開R_XEmacs可能會彈出信息“Initialization complete”,只要點擊OK鍵就行了.安裝后初次使用會在屏幕的底部(“minibuffer”中)出現(xiàn)當前窗口無法打開 .Rhistory 的信息. 此記錄歷史命令的文件會在正常退出R與ESS時建立(但只在下面窗口>提示符后直接輸入一個或多個命令后!),33,34,,視窗介紹

45、John Fox將Xemacs主窗口(實際上稱為frame)分為二個子窗口,上下分開(見上圖所示).在Xemacs主窗口的上方還有一個菜單條(menu bar)和一個工具條(toolbar),其內(nèi)容會隨緩沖區(qū)(buffer)主模式(major mode)而變化.你可以通過光標在上下子窗口中轉(zhuǎn)換觀察菜單與工具條的變化.J. Fox為R提供了專門的工具條與菜單,非常便于使用(后面介紹).上面的子窗口顯示*scratch*緩沖區(qū),其中

46、你可以輸入R命令.顧名思義, *scratch*緩沖并非永久性的,當然你可以將其內(nèi)容保存在文件中.下面的子窗口顯示R經(jīng)Emacs運行的結果,在此緩沖區(qū)中你也可以直接輸入R命令.,35,,每一子窗口下均有一個模式行(mode line),顯示的緩沖的狀態(tài),其中包括:1)緩沖的名字 2)緩沖的主模式(或次模式) 3)窗口在緩沖中的位置.上面的子窗口包含*scratch* buffer,處于ESS[S]主模式(主模式由文件的擴展名所決定.

47、 S指S語言,當打開擴展名 為 .r, .R, .s, .S, .q的S語言源代碼時,均處于ESS[S]主模式中),顯示所有(ALL)緩沖內(nèi)容—現(xiàn)在是空的.下面的子窗口包含*R* buffer, 處在iESS (inferior ESS – 之所以你它是inferior,因為它是受Emacs控制的!), 目前處在緩沖的底部(Bot). 你可以滑動游標觀察其位置的變化.指針(point): Emacs的光標,它與通常的光標還是有所差異

48、,不過John Fox在ESS模式下按Windows的習慣進行了修改.在窗口的下方是一個單行的小窗口,稱為minibuffer(小緩沖),主要用于信息顯示,其次若你要輸入Emacs命令,它們會顯示在minibuffer中,最后一命令(如搜索和替換)的響應在此完成.,36,,ESS+XEmacs下R的使用 --- R_XEmacs視窗Paste to R(粘貼至R)按鈕 --- 將上面子窗口中的命令送到下

49、面子窗口中執(zhí)行Paste line 執(zhí)行光標所在行Paste paragraph 執(zhí)行光標所在段落(其中不含空行) Paste function 執(zhí)行已定義的光標所在的函數(shù)Paste region 執(zhí)行用鼠標標記的區(qū)域Source to R 執(zhí)行上面子窗口(緩沖區(qū))中的所有命令對于R源文件在執(zhí)行之前會重新保存更新的

50、代碼對于*scratch* buffer中的代碼保存后才能執(zhí)行(不同于前的幾種方式)R文件中的源代碼的執(zhí)行過程不在下面的子窗口中顯示出來! 注意:首次使用會在minibuffer中出現(xiàn)Process to load into: R,按回車鍵繼續(xù) Stop 中止當前計算(如由于超時),37,,R子菜單如果光標/指針須在R的源文件中,則會出現(xiàn)ESS菜單,進行ESS會出現(xiàn)Joh

51、n Fox特地為R設計的R子菜單.R子菜單本身包括三個子菜單File 文件Packages 宏包Misc 其它它們的功能與R GUI的類似,38,,ESS=>R=>File菜單,,Source R code… 打開對話框以選擇源文件Save workspace…

52、 將R的工作空間存入文件Load workspace… 加載保存的工作空間Change R directory… 改變工作空間(指R運行過程空間, 并非指上面子窗口的源文件目錄),39,,ESS=>R=>packages菜單,,Load package…

53、 加載R宏包,納入搜索目錄Install package from CRAN… 從CRAN處選擇.下載.安裝宏包(需要internet連接!)Install package from local zip file…      從本地計算機或網(wǎng)絡宏包(zip壓縮文件) Update packages from CRAN…

54、 從CRAN處更新宏包 – 搜索所有安裝宏包的新版本, 下載并安裝,40,,ESS=>R=>Misc菜單,,Remove all objects… 刪除R工件空間中所有的對象List objects… 列出R工作空間中的對象Display path… 列出R的搜索路徑,

55、File=>Exit R/Xemacs菜單Quit saving R workspace 在當前的R目錄中保存工作空間Just quit 不保存R工作空間直接退出R,系統(tǒng)會 提醒你是否真的不保存修改的緩沖,41,R的語法與數(shù)據(jù)結構,語法符號> 命令或運算提示符+ 續(xù)行符基本算術運算+加號

56、 - 減號* 乘號/ 除號^ 乘方賦值符= 或 <-,42,,求助符?help()例子:>3+5>3-5>3/5>3^5>x=5>?plot>help(plot),43,,向量向量是R中最為基本的類型一個向量中元素的類型必須相同,包括數(shù)值型整型單精度實型雙精度實型邏輯型復值型字符型,44,,建立向量的方法(函數(shù))se

57、q() 或 : 若向量(序列)具有較為簡單的規(guī)律rep() 若向量(序列)具有較為復雜的規(guī)律c() 若向量(序列)沒有什么規(guī)律例子:>1:10>seq(1,10,by=0.5)>seq(1,10,length=21)>rep(2:5,2)>rep(2:5,rep(2,4))>x=c(42,7,64,9)>length

58、(x),45,,向量運算中的循環(huán)法則(recycling rule)>1:2+1:4>1:4+1:7,46,,向量的下標(index)與向量子集(元素)的提取正的下標 提取向量中對應的元素負的下標 去掉向量中對應的元素邏輯運算 提出向量中元素的值滿足條件的元素注:R中向量的下標從1開始,這與通常的統(tǒng)計或數(shù)學軟件 一致而象C語言等計算機高級語言的向量下標則從

59、0開始!例子:>x = c(42,7,64,9)>x[1]>x[-2]>x[c(1,4)],47,,>x>10 #值大于10的元素邏輯值 [1] TRUE FALSE TRUE FALSE>x[x>10] #值大于10的元素 [1] 42 64>x[x10]> #產(chǎn)生(0,1)上100個均勻分布隨機數(shù)>y

60、= runif(100, min = 0, max = 1)>sum(ysum(y[y<0.5]) # 值小于0.5的元素的值的和 [1] 10.84767,48,,數(shù)據(jù)框架(data frame)許多數(shù)據(jù)集是數(shù)據(jù)框架的形式出現(xiàn)一個數(shù)據(jù)框架就是將許多向量組合起來的一個對象,它是二維的,通常其列表示變量,其行表示觀測。建立數(shù)據(jù)框架的方法(函數(shù))若你的數(shù)據(jù)本身保存在一個文件中,則可以使用read.table(

61、) 僅接受帶有分界符的ASCII數(shù)據(jù) 如果數(shù)據(jù)是電子報表的形式,則采用下面的兩種變型read.csv() 先將數(shù)據(jù)另存為帶逗號的數(shù)據(jù)(Comma Seperated values) read.delim() 先將數(shù)據(jù)另存為用tab作為分界符的數(shù)據(jù) 注:若數(shù)據(jù)集很大(如1,000,000觀測x200變量),則可由

62、 ODBC聯(lián)接由數(shù)據(jù)庫讀入.,49,,若你在R中建立了一些向量并試圖想由它們生成框架,則可以使用data.frame(),但需要同時cbind().例子:>x=c(42,7,64,9)>y=1:4>z.df=data.frame(cbind(INDEX = y, VALUE = x))>z.dfINDEX VALUE1 1422

63、 2 73 3644 4 9注 ? .df 只是為了提醒自己z.df是一個數(shù)據(jù)框架 ? INDEX和VALUE是重新命名的向量名字,50,,數(shù)據(jù)框架子集的提出取格式 foo[row, column]其中 foo 數(shù)據(jù)框架的名稱 row 需要提出取的行號 column

64、 需要提出取的行號例子(續(xù)上一例),> z.df[1,] # 提取第一個觀測(第一行) INDEX VALUE 1 1 42> z.df[,1] #提取第一列(第一個變量的值)[1] 1 2 3 4> z.df[2,1] #提取第二行第一列的元素[1] 2,51,,列表(list)復

65、雜的數(shù)據(jù)分析時,僅有向量與數(shù)據(jù)框架還不夠有時需要生成包含不同類型的對象R的列表(list)就是包含任何類型的對象例子:>foo = list(x = 1:6, y = matrix(1:4, nrow = 2))>foo $x [1] 1 2 3 4 5 6 $y [,1] [,2] [1,] 1 3 [2,] 2 4,52,,列表子集的提出取提取一個子對象如foo的

66、x,下面三種方式等價> foo$x>foo[1]>foo[[1]] 例子>foo$y>foo[2]>foo[[2]]>foo[[1]][2]>foo$y[2]>foo$y[4],53,,條件語句 作用: 避免除零或負數(shù)的對數(shù)等數(shù)學問題形式1: if (條件) 表達式1 else 表達式2形式2 – 常優(yōu)于形式1!ifelse(條件,

67、yes, no)試比較下面的三個結果:>x = c(6:-4) > sqrt(ifelse(x >= 0, x, NA)) > ifelse(x >= 0, sqrt(x), NA) >if (x >= 0) sqrt(x) else NA,54,,循環(huán)(loops)for() #若知道終止條件for (變量 in 向量) 表達式whi

68、le() #若無法知道運行次數(shù)while(條件) 表達式兩者通??梢赞D(zhuǎn)換例1—試比較兩種方法>for (i in 1:5) print (1:i)>i=1>while(i <= 5) { + print(1:i) + i = i+1 + },55,,例2 – 見Ko-Kang Wang’s “R Programming Workshop”, pp6-8Suppose we ge

69、nerate a pseudo DNA microarray and we want to do an ANOVA on it. First we generate some factors for Array (a), Treatments (t) and Genes (g). Then generate some normal random numbers for the logged foreground intensity. T

70、hen we put into an aov() function for each gene – this is where the loop is good for. Note that you will get different answer when you try it, because of the random numbers generated.程序如下(使用for循環(huán),也可改用while循環(huán)):DNA_anova.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論