




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
R語言—介紹數(shù)理信息學(xué)院湯銀才1R語言—介紹數(shù)理信息學(xué)院1R介紹為什么要學(xué)習(xí)R語言R的資源資料與文獻(xiàn)網(wǎng)站統(tǒng)計(jì)分析軟件包R的運(yùn)行平臺R_GUIR_CommanderR_WinEdtR_ESS+XEmacs2R介紹為什么要學(xué)習(xí)R語言233R的無私奉獻(xiàn)者BillVenables
RobertGentleman
RossIhaka
4R的無私奉獻(xiàn)者BillVenablesRobertGe為什么要學(xué)習(xí)R語言5為什么要學(xué)習(xí)R語言5R是完全免費(fèi)的?。《鳶-Plus盡管是非常優(yōu)秀的統(tǒng)計(jì)分析軟件,可是你需要支付一筆$US.R可以在運(yùn)行于UNIX,Windows和Macintosh的操作系統(tǒng)上.R嵌入了一個非常實(shí)用的幫助系統(tǒng).R具有很強(qiáng)的作圖能力.我們將R程序容易地移植到S-Plus程序中,反之S的許多過程直接或稍作修改用于R.通過R語言的許多內(nèi)嵌統(tǒng)計(jì)函數(shù),很容易學(xué)習(xí)和掌握R語言的語法.我們可以編制自己的函數(shù)來擴(kuò)展現(xiàn)有的R語言(這就是為什么它在不斷等級完善!!)…....6R是完全免費(fèi)的?。《鳶-Plus盡管是非常優(yōu)秀的統(tǒng)計(jì)分析軟網(wǎng)站—R的資源7網(wǎng)站—R的資源7統(tǒng)計(jì)分析軟件包CRAN提供了許多便于統(tǒng)計(jì)分析的宏包:
/src/contrib/PACKAGES.htmlstable--穩(wěn)妥(分布)廣義回歸分析tseries–時間序列分析VaR–風(fēng)險值分析matrix–矩陣運(yùn)算cinterface–C與R的接口foreign–讀寫由S,Minitab,SAS,SPSS,Stata等軟件的數(shù)據(jù)normix–混合正態(tài)分布分析nortest–正態(tài)分布的Anderson-Darling檢驗(yàn)MCMCpack–基于Gibbs抽樣的MCMC抽樣方法fracdiff–分?jǐn)?shù)差分模型的極大似然估計(jì)還有很多……8統(tǒng)計(jì)分析軟件包CRAN提供了許多便于統(tǒng)計(jì)分析的宏包:
htt參考資料
隨軟件所附pdf文檔(help->manuals),隨版本更新:W.N.Venables,D.M.SmithandtheRDCT:IntroductiontoR--NotesonR:AProgrammingEnvironmentforDataAnalysisandGraphics,2003.
/Rweb/Rnotes/R.htmlRDCT,TheREnvironmentforStatisticalComputingandGraphics--ReferenceIndex,2003.RDCT,RDataImport/Export,2003.RDCT,RLanguageDefinition,2003RDCT,WritingRExtensions,20039參考資料910101111近期暢銷書:PeterDalgaard,IntroductoryStatisticswithR,Springer,2002JohnMaindonald,JohnBraun,DataAnalysisandGraphicsUsingR--AnExample-basedApproach,CambridgeUniversityPress,2003JohnFox,AnRandS-PlusCompaniontoAppliedRegression,SagePublications,Inc.,200212近期暢銷書:12R的運(yùn)行平臺-1R_GUI啟動R,我們看到RGUI(graphicuser’sinterface)的主窗口,它由三部分組成主菜單工具條Rconsole(R的運(yùn)行窗口)Rconsole你的主要工作是在這里通過發(fā)布命令來完成的,包括數(shù)據(jù)集的建立,數(shù)據(jù)的分析,作圖等.在這里你可以得到在線幫助help.start()HTML格式的關(guān)于R的幫助文件help()得到相應(yīng)函數(shù)的幫助,例如help(plot)demo()得到R提供的幾個示例q()退出R同Matlab類似,用右shift鍵可以重現(xiàn)以前的命令13R的運(yùn)行平臺-1R_GUI13工具條介紹SourceRcodeLoadimageSaveimageCopyandPasteStopcurrentcomputationSourceRcode 執(zhí)行R文件(*.R或*.r)Saveimage 保存工作空間,文件名為*.RDataLoadimage
打開已有的工作空間Stopcurrentcomputation 中止當(dāng)前計(jì)算(由于超時等原因)14工具條介紹SourceRcodeLoadimageSa主菜單介紹15主菜單介紹15R的運(yùn)行平臺-2R_Commander(幫助文件)作者:JohnFox(jfox@mcmaster.ca)版本:RcmdrVersion0.9-0安裝Rcmdr是R的一個宏包,它還需要宏包c(diǎn)ar的支持在加載Rcmdr宏包之前,需要先安裝宏包c(diǎn)arRcmdr僅在單文件RGui(SDI)下工作,這可通過RGui的
Edit=>GUIpreferences…進(jìn)行設(shè)置(注:好象均可?)運(yùn)行安裝宏包c(diǎn)ar在RGui下通過Packages=>Loadpackages…加載Rcmdr宏包16R的運(yùn)行平臺-2R_Commander(幫助文件)161717功能RCommander是一個交互式菜單/對話框系統(tǒng)(menu/dialog-boxinterfaces),用于進(jìn)行數(shù)據(jù)的讀、寫、轉(zhuǎn)換及常用的統(tǒng)計(jì)分析.作者還添加了線性與廣義線性模型等統(tǒng)計(jì)分析工具.結(jié)構(gòu)與使用(具體見Rcmdr的GettingStarted部分)RCommander窗口由一些菜單及按鈕組成.菜單的下方是一個log/script窗口通過菜單的對話框?qū)⒚畎l(fā)送到RGUI中,以完成某一項(xiàng)統(tǒng)計(jì)分析.這些命令同時在log窗口中顯示出來.它們可以被重新編輯修改,并可通過Rcmdr窗口右下角的Submit按鈕再一次發(fā)送給R執(zhí)行命令指向一個當(dāng)前的或者活動的數(shù)據(jù)集.一旦讀入一個新的數(shù)據(jù)集,它就是活動的.注:通過Data=>Importdata加載數(shù)據(jù)集,其名字及路徑不能含有中文,而中RGUI中是允許的!!18功能18RCommander的菜單
RCommander菜單樹(MenuTree)(點(diǎn)擊)RCommander的信息反饋(informationfield)
19RCommander的菜單RCommander菜單R的運(yùn)行平臺-320R的運(yùn)行平臺-320R_WinEdt的設(shè)置設(shè)置桌面快擊鍵:為了同時可以使用LaTeX/CTeX和R_WinEdt,在桌面上復(fù)制一個WinEdt快擊鍵,并命名為R_WinEdt;右擊R_WinEdt快擊鍵,選擇屬性,然后在“目標(biāo)(T)”中輸入C:\CTeX\WinEdt\WinEdt-C="R-WinEdt"-e=r.ini(并不必須)如果每次運(yùn)行R都想加載某個/些軟件包或函數(shù),則可對R主目錄下etc下的.Rprofile進(jìn)行修改,如每次加載simple宏包就可使用下面的設(shè)置library(simple)options(editor="\"c:/programfiles/winedt/winedt\"-c=\"R-WinEdt-edit\"-e=r.ini-V")21R_WinEdt的設(shè)置21R_WinEdt界面22R_WinEdt界面22R_WinEdt菜單23R_WinEdt菜單23R_WinEdt的特點(diǎn)-與RGui共同運(yùn)行-具有WinEdt的強(qiáng)大功能(如Delimiter檢查,高級搜索,書簽,宏,縮進(jìn)與注釋的對齊等)-語法高亮顯示(Syntax-Highlighting)-同時可以編輯多個R程序-設(shè)置簡單快速的按鈕與快擊鍵-將窗口中的代碼(script)發(fā)送到R中運(yùn)行-WinEdt中選中的代碼(code)發(fā)送到R中運(yùn)行-單行代碼(script)發(fā)送到R中運(yùn)行-及時更新歷史命令記錄文件.Rhistory,以便重復(fù)使用舊的命令-提供衫的模塊,如:for(_in_){_}24R_WinEdt的特點(diǎn)24R_WinEdt–菜單與熱鍵#CommandHotKeyMenuIcon說明#------------------------------------------------------------------------------------------------------#BracketsCheckCtrl+F12{}括號配對檢查#RHistory ALT+HRHIST.保存歷史記錄#R-line-andgo ALT+L單行發(fā)送#R-line Ctrl+ALT+L 單行發(fā)送并返回#R<-R-paste-andgoALT+PR<-PASTE選中后發(fā)送#R<-R-paste Ctrl+ALT+P 選中后發(fā)送并返回#R<-R-source-andgoALT+SR<-SOURCER文件發(fā)送(先打開)#R<-R-scriptCtrl+ALT+SRSCRIPTR文件發(fā)送并返回#function Ctrl+Alt+F生成函數(shù)框架#for Ctrl+Alt+O生成for循環(huán)框架#if Ctrl+Alt+I生成if框架#ifelse Ctrl+Alt+E生成ifesle框架#<- Ctrl+-生成賦值符號25R_WinEdt–菜單與熱鍵25R的運(yùn)行平臺-4R_ESS+XEmacs–安裝與使用(作者:JohnFox)關(guān)于ESS與XEmacsEmacs是一個功能強(qiáng)大廣為使用的編程器,可以進(jìn)行配對檢查,語法高亮顯示,查錯(debugging)等.
ForsomeUnix/Linuxusers,Emacsismoreawayoflifethananeditor.ESS(EmacsSpeaksStatistics)可以為許多統(tǒng)計(jì)軟件定制相應(yīng)的編程環(huán)境,包括R,S-Pplus,SAS,Stata,Lisp-Stat等.Emacs主要有二個版本:GNUEmacs和XEmacs.由于使用了ESS,因此多個統(tǒng)計(jì)分析軟件可并存于同一平臺.JohnFox的ESS設(shè)置提供了一個主窗口,上下二個子窗口:上面的用于輸入R的源文件/代碼,下面的用于顯示這些R程序/代碼在XEmacs運(yùn)行后的輸入與輸出結(jié)果.(點(diǎn)擊此處查看)XEmacs和ESS均是免費(fèi)的!26R的運(yùn)行平臺-4R_ESS+XEmacs–安裝與使用(27272828注:請選擇Native類型(這是Windows版的Xemacs)各站點(diǎn)的安裝或下載速度以及版本號有所不同.去掉宏包,點(diǎn)一下New一欄下對應(yīng)的版本號;此版本號即被Skip所代替.29注:請選擇Native類型(這是Windows版的XemacR_ESS+XEmacs的設(shè)置我們假定R與XEmacs的目錄分別為R:C:\ProgramFiles\R\rwxxxx\(xxxx為版本號)Xemacs:C:\ProgramFiles\Xemacs檢查系統(tǒng)的home目錄(WinXP/2000/NT下可在DOS方式下用命令setHOME檢查.在此假定為c:\在home目錄下建立子目錄(用DOS命令mkdir).xemacs從JohnFox的主頁下載設(shè)置文件fox-ess-config.zip,地址為:
http://socserv.socsci.mcmaster.ca/jfox/Books/Companion/ESS/index.html將解壓文件init.el改名為Rinit.el并復(fù)制到.xemacs下30R_ESS+XEmacs的設(shè)置30將解壓文件function.xpm,line.xpm,para.xpm,region.xpm,source.xpm和stop.xpm復(fù)制到目錄c:\ProgramFiles\Xemacs\XEmacs-xx.y.z\etc\toolbar\(xx.y.z為Xemacs的版本號),由此在Xemacs中建立R的工具條.(若沒有)添加系統(tǒng)搜索路徑:c:\ProgramFiles\R\rwxxxx\bin(在WinXP/2000/NT中可由控制面板=>系統(tǒng)=>高級=>環(huán)境變量中新建/添加).另一方法:用純文本修改文件Rini.el中的關(guān)于R的搜索,即(setq-defaultinferior-R-program-name“c:/ProgramFiles/rwxxxx/bin/rterm.exe”)----也即只要去掉之前的分號(;).修改桌面圖標(biāo)XEmacs的屬性:在快捷方式的”目標(biāo)”下添加
-q-l“c:\.xemacs\Rinit.el“,在”起始位置”添加存放文件的目錄.31將解壓文件function.xpm,line.xpm,pESS+XEmacs下R的使用---了解XEmacs視窗不是問題的問題:每次打開R_XEmacs可能會彈出信息“Initializationcomplete”,只要點(diǎn)擊OK鍵就行了.安裝后初次使用會在屏幕的底部(“minibuffer”中)出現(xiàn)當(dāng)前窗口無法打開.Rhistory的信息.此記錄歷史命令的文件會在正常退出R與ESS時建立(但只在下面窗口>提示符后直接輸入一個或多個命令后!)32ESS+XEmacs下R的使用---了解XEmacs視窗33333視窗介紹JohnFox將Xemacs主窗口(實(shí)際上稱為frame)分為二個子窗口,上下分開(見上圖所示).在Xemacs主窗口的上方還有一個菜單條(menubar)和一個工具條(toolbar),其內(nèi)容會隨緩沖區(qū)(buffer)主模式(majormode)而變化.你可以通過光標(biāo)在上下子窗口中轉(zhuǎn)換觀察菜單與工具條的變化.J.Fox為R提供了專門的工具條與菜單,非常便于使用(后面介紹).上面的子窗口顯示*scratch*緩沖區(qū),其中你可以輸入R命令.顧名思義,*scratch*緩沖并非永久性的,當(dāng)然你可以將其內(nèi)容保存在文件中.下面的子窗口顯示R經(jīng)Emacs運(yùn)行的結(jié)果,在此緩沖區(qū)中你也可以直接輸入R命令.34視窗介紹34每一子窗口下均有一個模式行(modeline),顯示的緩沖的狀態(tài),其中包括:1)緩沖的名字2)緩沖的主模式(或次模式)3)窗口在緩沖中的位置.上面的子窗口包含*scratch*buffer,處于ESS[S]主模式(主模式由文件的擴(kuò)展名所決定.S指S語言,當(dāng)打開擴(kuò)展名為.r,.R,.s,.S,.q的S語言源代碼時,均處于ESS[S]主模式中),顯示所有(ALL)緩沖內(nèi)容—現(xiàn)在是空的.下面的子窗口包含*R*buffer,處在iESS(inferiorESS–之所以你它是inferior,因?yàn)樗鞘蹺macs控制的!),目前處在緩沖的底部(Bot).你可以滑動游標(biāo)觀察其位置的變化.指針(point):Emacs的光標(biāo),它與通常的光標(biāo)還是有所差異,不過JohnFox在ESS模式下按Windows的習(xí)慣進(jìn)行了修改.在窗口的下方是一個單行的小窗口,稱為minibuffer(小緩沖),主要用于信息顯示,其次若你要輸入Emacs命令,它們會顯示在minibuffer中,最后一命令(如搜索和替換)的響應(yīng)在此完成.35每一子窗口下均有一個模式行(modeline),顯示的緩沖ESS+XEmacs下R的使用---R_XEmacs視窗PastetoR(粘貼至R)按鈕---將上面子窗口中的命令送到下面子窗口中執(zhí)行Pasteline執(zhí)行光標(biāo)所在行Pasteparagraph執(zhí)行光標(biāo)所在段落(其中不含空行)
Pastefunction執(zhí)行已定義的光標(biāo)所在的函數(shù)Pasteregion執(zhí)行用鼠標(biāo)標(biāo)記的區(qū)域SourcetoR執(zhí)行上面子窗口(緩沖區(qū))中的所有命令對于R源文件在執(zhí)行之前會重新保存更新的代碼對于*scratch*buffer中的代碼保存后才能執(zhí)行(不同于前的幾種方式)R文件中的源代碼的執(zhí)行過程不在下面的子窗口中顯示出來!注意:首次使用會在minibuffer中出現(xiàn)Processtoloadinto:R,按回車鍵繼續(xù)
Stop中止當(dāng)前計(jì)算(如由于超時)36ESS+XEmacs下R的使用36R子菜單如果光標(biāo)/指針須在R的源文件中,則會出現(xiàn)ESS菜單,進(jìn)行ESS會出現(xiàn)JohnFox特地為R設(shè)計(jì)的R子菜單.R子菜單本身包括三個子菜單File文件Packages宏包Misc其它它們的功能與RGUI的類似37R子菜單37ESS=>R=>File菜單SourceRcode…打開對話框以選擇源文件Saveworkspace…將R的工作空間存入文件Loadworkspace…加載保存的工作空間ChangeRdirectory…改變工作空間(指R運(yùn)行過程空間,
并非指上面子窗口的源文件目錄)38ESS=>R=>File菜單SourceRcode…ESS=>R=>packages菜單Loadpackage…
加載R宏包,納入搜索目錄InstallpackagefromCRAN…
從CRAN處選擇.下載.安裝宏包(需要internet連接!)Installpackagefromlocalzipfile…
從本地計(jì)算機(jī)或網(wǎng)絡(luò)宏包(zip壓縮文件)UpdatepackagesfromCRAN…
從CRAN處更新宏包–搜索所有安裝宏包的新版本,
下載并安裝39ESS=>R=>packages菜單LoadpackageESS=>R=>Misc菜單Removeallobjects…刪除R工件空間中所有的對象Listobjects…列出R工作空間中的對象Displaypath…列出R的搜索路徑File=>ExitR/Xemacs菜單QuitsavingRworkspace在當(dāng)前的R目錄中保存工作空間Justquit不保存R工作空間直接退出R,系統(tǒng)會
提醒你是否真的不保存修改的緩沖40ESS=>R=>Misc菜單RemoveallobjecR的語法與數(shù)據(jù)結(jié)構(gòu)語法符號>命令或運(yùn)算提示符+續(xù)行符基本算術(shù)運(yùn)算+ 加號-減號* 乘號/ 除號^ 乘方賦值符=或<-41R的語法與數(shù)據(jù)結(jié)構(gòu)語法41求助符?help()例子:>3+5>3-5>3/5>3^5>x=5>?plot>help(plot)42求助符42向量向量是R中最為基本的類型一個向量中元素的類型必須相同,包括數(shù)值型整型單精度實(shí)型雙精度實(shí)型邏輯型復(fù)值型字符型43向量43建立向量的方法(函數(shù))seq()或:若向量(序列)具有較為簡單的規(guī)律rep()若向量(序列)具有較為復(fù)雜的規(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(x)44建立向量的方法(函數(shù))44向量運(yùn)算中的循環(huán)法則(recyclingrule)>1:2+1:4>1:4+1:745向量運(yùn)算中的循環(huán)法則(recyclingrule)45向量的下標(biāo)(index)與向量子集(元素)的提取正的下標(biāo)提取向量中對應(yīng)的元素負(fù)的下標(biāo)去掉向量中對應(yīng)的元素邏輯運(yùn)算提出向量中元素的值滿足條件的元素注:R中向量的下標(biāo)從1開始,這與通常的統(tǒng)計(jì)或數(shù)學(xué)軟件一致而象C語言等計(jì)算機(jī)高級語言的向量下標(biāo)則從0開始!例子:>x=c(42,7,64,9)>x[1]>x[-2]>x[c(1,4)]46向量的下標(biāo)(index)與向量子集(元素)的提取46>x>10 #值大于10的元素邏輯值[1]TRUEFALSETRUEFALSE>x[x>10]#值大于10的元素[1]4264>x[x<40&x>10]>#產(chǎn)生(0,1)上100個均勻分布隨機(jī)數(shù)>y=runif(100,min=0,max=1)>sum(y<0.5)#值小于0.5的元素的個數(shù)[1]47>sum(y[y<0.5])#值小于0.5的元素的值的和[1]10.8476747>x>10 #值大于10的元素邏輯值47數(shù)據(jù)框架(dataframe)許多數(shù)據(jù)集是數(shù)據(jù)框架的形式出現(xiàn)一個數(shù)據(jù)框架就是將許多向量組合起來的一個對象,它是二維的,通常其列表示變量,其行表示觀測。建立數(shù)據(jù)框架的方法(函數(shù))若你的數(shù)據(jù)本身保存在一個文件中,則可以使用read.table()僅接受帶有分界符的ASCII數(shù)據(jù)如果數(shù)據(jù)是電子報表的形式,則采用下面的兩種變型read.csv()先將數(shù)據(jù)另存為帶逗號的數(shù)據(jù)(Comma
Seperatedvalues)read.delim()先將數(shù)據(jù)另存為用tab作為分界符的數(shù)據(jù)注:若數(shù)據(jù)集很大(如1,000,000觀測x200變量),則可由
ODBC聯(lián)接由數(shù)據(jù)庫讀入.48數(shù)據(jù)框架(dataframe)48若你在R中建立了一些向量并試圖想由它們生成框架,則可以使用data.frame(),但需要同時cbind().例子:>x=c(42,7,64,9)>y=1:4>z.df=data.frame(cbind(INDEX=y,VALUE=x))>z.df INDEX VALUE1 1 422 2 73 3 644 4 9注.df只是為了提醒自己z.df是一個數(shù)據(jù)框架
INDEX和VALUE是重新命名的向量名字49若你在R中建立了一些向量并試圖想由它們生成框架,則可以使用d數(shù)據(jù)框架子集的提出取格式foo[row,column]
其中foo 數(shù)據(jù)框架的名稱
row 需要提出取的行號
column需要提出取的行號例子(續(xù)上一例)
>z.df[1,]#提取第一個觀測(第一行)INDEXVALUE1142>z.df[,1]#提取第一列(第一個變量的值)[1]1234>z.df[2,1]#提取第二行第一列的元素[1]250數(shù)據(jù)框架子集的提出取>z.df[1,]列表(list)復(fù)雜的數(shù)據(jù)分析時,僅有向量與數(shù)據(jù)框架還不夠有時需要生成包含不同類型的對象R的列表(list)就是包含任何類型的對象例子:>foo=list(x=1:6,y=matrix(1:4,nrow=2))>foo$x[1]123456$y[,1][,2][1,]13[2,]2451列表(list)51列表子集的提出取提取一個子對象如foo的x,下面三種方式等價
>foo$x
>foo[1]
>foo[[1]]
例子>foo$y>foo[2]>foo[[2]]>foo[[1]][2]>foo$y[2]>foo$y[4]52列表子集的提出取52條件語句作用:避免除零或負(fù)數(shù)的對數(shù)等數(shù)學(xué)問題形式1:
if(條件)表達(dá)式1else表達(dá)式2形式2–常優(yōu)于形式1!
ifelse(條件,yes,no)試比較下面的三個結(jié)果:
>x=c(6:-4)>sqrt(ifelse(x>=0,x,NA))>ifelse(x>=0,sqrt(x),NA)>if(x>=0)sqrt(x)elseNA53條件語句53循環(huán)(loops)for()#若知道終止條件
for(變量in向量)表達(dá)式while()#若無法知道運(yùn)行次數(shù)
while(條件)表達(dá)式兩者通??梢赞D(zhuǎn)換
例1—試比較兩種方法
>for(iin1:5)print(1:i)
>i=1
>while(i<=5){
+print(1:i)
+i=i+1
+}54循環(huán)(loops)54例2–見Ko-KangWang’s“RProgrammingWorkshop”,pp6-8SupposewegenerateapseudoDNAmicroarrayandwewanttodoanANOVAonit.FirstwegeneratesomefactorsforArray(a),Treatments(t)andGenes(g).Thengeneratesomenormalrandomnumbersfortheloggedforegroundintensity.Thenweputintoanaov()functionforeachgene–thisiswheretheloopisgoodfor.Notethatyouwillgetdifferentanswerwhenyoutryit,becauseoftherandomnumbersgenerated.程序如下(使用for循環(huán),也可改用while循環(huán)):DNA_anova.R
注:R控制面板中顯示符號>和+,而源程序中是不需要的!55例2–見Ko-KangWang’s“RProgra >n=3044 >a=c(rep(1,2*n),rep(2,2*n)) >t=c(rep(1,n),rep(2,n),rep(2,n),rep(1,n)) >g=rep(rep(1:1522,rep(2,1522)),4) >y=rnorm(4*n,mean=4.13,sd=0.75) >ybar=data.frame(A=factor(a),G=factor(g), + T=factor(t),Intensity=y) >attach(ybar) >ybar[1:10,]#查看ybar的前10行 >res.mat=matrix(0,1522,8,byrow=TRUE) >coef.mat=matrix(0,1522,4,byrow=TRUE) >for(iin1:1522){ + gene.aov=aov(Intensity~A+T+A*T, +sub=G==i) +res.mat[i,]=residuals(gene.aov)#保存ANOVA分析的殘差 +coef.mat[i,]=coef(gene.aov)#保存ANOVA分析的方差系數(shù) +} >res.mat[1:10,] #查看殘差的前10行>coef.mat[1:10,] #查看方差系數(shù)的前10行56 >n=304456向量化(vectorization)循環(huán)(loops)很有用,但如果能將一組命令向量化,則應(yīng)盡量避免循環(huán),原因在于C是一種編譯語言,其效率是很高的;R則是一種解釋語言。在計(jì)算時,通常C要比R快100倍。在R中充分使用向量化,因?yàn)镽會立即調(diào)用C進(jìn)行運(yùn)算,因而大大提高計(jì)算的效率!例子-–-見Ko-KangWang’s“RProgrammingWorkshop”,pp9-11(Gamma函數(shù)作圖)Vector_1.R沒有使用向量和循環(huán)的源程序Vector_2.R使用for循環(huán)改進(jìn)后的源程序Vector_3.R使用向量化后源程序57向量化(vectorization)57函數(shù)函數(shù)是一系列語句的組合,在R中可以寫出自己的函數(shù)形式:變量名=function(變量列表)函數(shù)體函數(shù)引用:變量名(變量的值)函數(shù)可以遞歸引用,但不提倡!例子–使用gamma函數(shù)求n!
>factorial=function(n){+if(n>=0)gamma(n+1)+elseprint(“Pleaseinputapositiveinteger!")+}>factorial(6)>factorial(-6)58函數(shù)58用于處理錯誤的函數(shù)–用于處理用戶輸入不正確的類型而可能出現(xiàn)的錯誤warning()若錯誤不嚴(yán)重以至影響整個計(jì)算stop()若錯誤可能導(dǎo)致計(jì)算中止print()顯示必要的信息formatC()數(shù)值作為字符串輸出cat()字符串聯(lián),可以插入\n(換行)及\t(tab鍵)paste()字符粘貼(非字符型自動轉(zhuǎn)換)
例子:
>cat("R","is","agood","software.\n")>formatC(1/3,format="f",digits=4)
>formatC(1/3,format="e",digits=4)
>paste(1:12)#與as.character(1:12)等價
>paste("A",1:6,sep="")
>paste("todayis",date())59用于處理錯誤的函數(shù)–用于處理用戶輸入不正確的類型而可能出R中的編程編程的重要性一個統(tǒng)計(jì)軟件(包)應(yīng)該包羅萬象—所有統(tǒng)計(jì)方法或技術(shù),可以完成所有的任務(wù)??這是一種錯誤的觀點(diǎn)?。√F?。≠M(fèi)時??!SAS是一個世界上最為優(yōu)秀的統(tǒng)計(jì)分析軟件之一,但……??!當(dāng)然SAS具體編程能力,而SPSS更糟!通過編程可以實(shí)現(xiàn)(開發(fā))滿足自己需要的函數(shù)或宏包60R中的編程編程的重要性60好的編程習(xí)慣為了他人,更為你本人!你的程序應(yīng)該具有可讀性(readability)可理解性(understandability)習(xí)慣之一:行前縮進(jìn)(Indentation),在此推薦使用軟件WinEdt=>已開發(fā)了基于WinEdt的R使用平臺(X)Emacs=>已開發(fā)了基于(X)Emacs的R使用平臺UltraEdit習(xí)慣之二:增加注釋(Commenting),它是你的幫助R中使用#作為注釋語句的開始.習(xí)慣之三:變量的命名,使用意義明確的名字,切忌使用人或?qū)櫸锏拿?1好的編程習(xí)慣61例子–縮進(jìn)>for(iin1:1522){+ gene.aov<-aov(Intensity~A+T+A*T,+ sub=G==i)+res.mat[i,]<-residuals(gene.aov)+coef.mat[i,]<-coef(gene.aov)+}或>for(iin1:1522)>{+gene.aov<-aov(Intensity~A+T+A*T,+ sub=G==i)+res.mat[i,]<-residuals(gene.aov)+coef.mat[i,]<-coef(gene.aov)+}62例子–縮進(jìn)62實(shí)例演示1.JulianFaraway提供的一個簡短的入門
IntroductiontoR使用RGUI使用RCommander使用R_XEmacsFurtherreference:Moore'sTheBasicPracticeofStatistics,
SecondEdition(Freeman,2000),
2.JohnVerzani提供的統(tǒng)計(jì)學(xué)入門
SimpleR---UsingRforIntroductoryStatistics使用R_WinEdt63實(shí)例演示63演講完畢,謝謝觀看!演講完畢,謝謝觀看!R語言—介紹數(shù)理信息學(xué)院湯銀才65R語言—介紹數(shù)理信息學(xué)院1R介紹為什么要學(xué)習(xí)R語言R的資源資料與文獻(xiàn)網(wǎng)站統(tǒng)計(jì)分析軟件包R的運(yùn)行平臺R_GUIR_CommanderR_WinEdtR_ESS+XEmacs66R介紹為什么要學(xué)習(xí)R語言2673R的無私奉獻(xiàn)者BillVenables
RobertGentleman
RossIhaka
68R的無私奉獻(xiàn)者BillVenablesRobertGe為什么要學(xué)習(xí)R語言69為什么要學(xué)習(xí)R語言5R是完全免費(fèi)的?。《鳶-Plus盡管是非常優(yōu)秀的統(tǒng)計(jì)分析軟件,可是你需要支付一筆$US.R可以在運(yùn)行于UNIX,Windows和Macintosh的操作系統(tǒng)上.R嵌入了一個非常實(shí)用的幫助系統(tǒng).R具有很強(qiáng)的作圖能力.我們將R程序容易地移植到S-Plus程序中,反之S的許多過程直接或稍作修改用于R.通過R語言的許多內(nèi)嵌統(tǒng)計(jì)函數(shù),很容易學(xué)習(xí)和掌握R語言的語法.我們可以編制自己的函數(shù)來擴(kuò)展現(xiàn)有的R語言(這就是為什么它在不斷等級完善!!)…....70R是完全免費(fèi)的??!而S-Plus盡管是非常優(yōu)秀的統(tǒng)計(jì)分析軟網(wǎng)站—R的資源71網(wǎng)站—R的資源7統(tǒng)計(jì)分析軟件包CRAN提供了許多便于統(tǒng)計(jì)分析的宏包:
/src/contrib/PACKAGES.htmlstable--穩(wěn)妥(分布)廣義回歸分析tseries–時間序列分析VaR–風(fēng)險值分析matrix–矩陣運(yùn)算cinterface–C與R的接口foreign–讀寫由S,Minitab,SAS,SPSS,Stata等軟件的數(shù)據(jù)normix–混合正態(tài)分布分析nortest–正態(tài)分布的Anderson-Darling檢驗(yàn)MCMCpack–基于Gibbs抽樣的MCMC抽樣方法fracdiff–分?jǐn)?shù)差分模型的極大似然估計(jì)還有很多……72統(tǒng)計(jì)分析軟件包CRAN提供了許多便于統(tǒng)計(jì)分析的宏包:
htt參考資料
隨軟件所附pdf文檔(help->manuals),隨版本更新:W.N.Venables,D.M.SmithandtheRDCT:IntroductiontoR--NotesonR:AProgrammingEnvironmentforDataAnalysisandGraphics,2003.
/Rweb/Rnotes/R.htmlRDCT,TheREnvironmentforStatisticalComputingandGraphics--ReferenceIndex,2003.RDCT,RDataImport/Export,2003.RDCT,RLanguageDefinition,2003RDCT,WritingRExtensions,200373參考資料974107511近期暢銷書:PeterDalgaard,IntroductoryStatisticswithR,Springer,2002JohnMaindonald,JohnBraun,DataAnalysisandGraphicsUsingR--AnExample-basedApproach,CambridgeUniversityPress,2003JohnFox,AnRandS-PlusCompaniontoAppliedRegression,SagePublications,Inc.,200276近期暢銷書:12R的運(yùn)行平臺-1R_GUI啟動R,我們看到RGUI(graphicuser’sinterface)的主窗口,它由三部分組成主菜單工具條Rconsole(R的運(yùn)行窗口)Rconsole你的主要工作是在這里通過發(fā)布命令來完成的,包括數(shù)據(jù)集的建立,數(shù)據(jù)的分析,作圖等.在這里你可以得到在線幫助help.start()HTML格式的關(guān)于R的幫助文件help()得到相應(yīng)函數(shù)的幫助,例如help(plot)demo()得到R提供的幾個示例q()退出R同Matlab類似,用右shift鍵可以重現(xiàn)以前的命令77R的運(yùn)行平臺-1R_GUI13工具條介紹SourceRcodeLoadimageSaveimageCopyandPasteStopcurrentcomputationSourceRcode 執(zhí)行R文件(*.R或*.r)Saveimage 保存工作空間,文件名為*.RDataLoadimage
打開已有的工作空間Stopcurrentcomputation 中止當(dāng)前計(jì)算(由于超時等原因)78工具條介紹SourceRcodeLoadimageSa主菜單介紹79主菜單介紹15R的運(yùn)行平臺-2R_Commander(幫助文件)作者:JohnFox(jfox@mcmaster.ca)版本:RcmdrVersion0.9-0安裝Rcmdr是R的一個宏包,它還需要宏包c(diǎn)ar的支持在加載Rcmdr宏包之前,需要先安裝宏包c(diǎn)arRcmdr僅在單文件RGui(SDI)下工作,這可通過RGui的
Edit=>GUIpreferences…進(jìn)行設(shè)置(注:好象均可?)運(yùn)行安裝宏包c(diǎn)ar在RGui下通過Packages=>Loadpackages…加載Rcmdr宏包80R的運(yùn)行平臺-2R_Commander(幫助文件)168117功能RCommander是一個交互式菜單/對話框系統(tǒng)(menu/dialog-boxinterfaces),用于進(jìn)行數(shù)據(jù)的讀、寫、轉(zhuǎn)換及常用的統(tǒng)計(jì)分析.作者還添加了線性與廣義線性模型等統(tǒng)計(jì)分析工具.結(jié)構(gòu)與使用(具體見Rcmdr的GettingStarted部分)RCommander窗口由一些菜單及按鈕組成.菜單的下方是一個log/script窗口通過菜單的對話框?qū)⒚畎l(fā)送到RGUI中,以完成某一項(xiàng)統(tǒng)計(jì)分析.這些命令同時在log窗口中顯示出來.它們可以被重新編輯修改,并可通過Rcmdr窗口右下角的Submit按鈕再一次發(fā)送給R執(zhí)行命令指向一個當(dāng)前的或者活動的數(shù)據(jù)集.一旦讀入一個新的數(shù)據(jù)集,它就是活動的.注:通過Data=>Importdata加載數(shù)據(jù)集,其名字及路徑不能含有中文,而中RGUI中是允許的!!82功能18RCommander的菜單
RCommander菜單樹(MenuTree)(點(diǎn)擊)RCommander的信息反饋(informationfield)
83RCommander的菜單RCommander菜單R的運(yùn)行平臺-384R的運(yùn)行平臺-320R_WinEdt的設(shè)置設(shè)置桌面快擊鍵:為了同時可以使用LaTeX/CTeX和R_WinEdt,在桌面上復(fù)制一個WinEdt快擊鍵,并命名為R_WinEdt;右擊R_WinEdt快擊鍵,選擇屬性,然后在“目標(biāo)(T)”中輸入C:\CTeX\WinEdt\WinEdt-C="R-WinEdt"-e=r.ini(并不必須)如果每次運(yùn)行R都想加載某個/些軟件包或函數(shù),則可對R主目錄下etc下的.Rprofile進(jìn)行修改,如每次加載simple宏包就可使用下面的設(shè)置library(simple)options(editor="\"c:/programfiles/winedt/winedt\"-c=\"R-WinEdt-edit\"-e=r.ini-V")85R_WinEdt的設(shè)置21R_WinEdt界面86R_WinEdt界面22R_WinEdt菜單87R_WinEdt菜單23R_WinEdt的特點(diǎn)-與RGui共同運(yùn)行-具有WinEdt的強(qiáng)大功能(如Delimiter檢查,高級搜索,書簽,宏,縮進(jìn)與注釋的對齊等)-語法高亮顯示(Syntax-Highlighting)-同時可以編輯多個R程序-設(shè)置簡單快速的按鈕與快擊鍵-將窗口中的代碼(script)發(fā)送到R中運(yùn)行-WinEdt中選中的代碼(code)發(fā)送到R中運(yùn)行-單行代碼(script)發(fā)送到R中運(yùn)行-及時更新歷史命令記錄文件.Rhistory,以便重復(fù)使用舊的命令-提供衫的模塊,如:for(_in_){_}88R_WinEdt的特點(diǎn)24R_WinEdt–菜單與熱鍵#CommandHotKeyMenuIcon說明#------------------------------------------------------------------------------------------------------#BracketsCheckCtrl+F12{}括號配對檢查#RHistory ALT+HRHIST.保存歷史記錄#R-line-andgo ALT+L單行發(fā)送#R-line Ctrl+ALT+L 單行發(fā)送并返回#R<-R-paste-andgoALT+PR<-PASTE選中后發(fā)送#R<-R-paste Ctrl+ALT+P 選中后發(fā)送并返回#R<-R-source-andgoALT+SR<-SOURCER文件發(fā)送(先打開)#R<-R-scriptCtrl+ALT+SRSCRIPTR文件發(fā)送并返回#function Ctrl+Alt+F生成函數(shù)框架#for Ctrl+Alt+O生成for循環(huán)框架#if Ctrl+Alt+I生成if框架#ifelse Ctrl+Alt+E生成ifesle框架#<- Ctrl+-生成賦值符號89R_WinEdt–菜單與熱鍵25R的運(yùn)行平臺-4R_ESS+XEmacs–安裝與使用(作者:JohnFox)關(guān)于ESS與XEmacsEmacs是一個功能強(qiáng)大廣為使用的編程器,可以進(jìn)行配對檢查,語法高亮顯示,查錯(debugging)等.
ForsomeUnix/Linuxusers,Emacsismoreawayoflifethananeditor.ESS(EmacsSpeaksStatistics)可以為許多統(tǒng)計(jì)軟件定制相應(yīng)的編程環(huán)境,包括R,S-Pplus,SAS,Stata,Lisp-Stat等.Emacs主要有二個版本:GNUEmacs和XEmacs.由于使用了ESS,因此多個統(tǒng)計(jì)分析軟件可并存于同一平臺.JohnFox的ESS設(shè)置提供了一個主窗口,上下二個子窗口:上面的用于輸入R的源文件/代碼,下面的用于顯示這些R程序/代碼在XEmacs運(yùn)行后的輸入與輸出結(jié)果.(點(diǎn)擊此處查看)XEmacs和ESS均是免費(fèi)的!90R的運(yùn)行平臺-4R_ESS+XEmacs–安裝與使用(91279228注:請選擇Native類型(這是Windows版的Xemacs)各站點(diǎn)的安裝或下載速度以及版本號有所不同.去掉宏包,點(diǎn)一下New一欄下對應(yīng)的版本號;此版本號即被Skip所代替.93注:請選擇Native類型(這是Windows版的XemacR_ESS+XEmacs的設(shè)置我們假定R與XEmacs的目錄分別為R:C:\ProgramFiles\R\rwxxxx\(xxxx為版本號)Xemacs:C:\ProgramFiles\Xemacs檢查系統(tǒng)的home目錄(WinXP/2000/NT下可在DOS方式下用命令setHOME檢查.在此假定為c:\在home目錄下建立子目錄(用DOS命令mkdir).xemacs從JohnFox的主頁下載設(shè)置文件fox-ess-config.zip,地址為:
http://socserv.socsci.mcmaster.ca/jfox/Books/Companion/ESS/index.html將解壓文件init.el改名為Rinit.el并復(fù)制到.xemacs下94R_ESS+XEmacs的設(shè)置30將解壓文件function.xpm,line.xpm,para.xpm,region.xpm,source.xpm和stop.xpm復(fù)制到目錄c:\ProgramFiles\Xemacs\XEmacs-xx.y.z\etc\toolbar\(xx.y.z為Xemacs的版本號),由此在Xemacs中建立R的工具條.(若沒有)添加系統(tǒng)搜索路徑:c:\ProgramFiles\R\rwxxxx\bin(在WinXP/2000/NT中可由控制面板=>系統(tǒng)=>高級=>環(huán)境變量中新建/添加).另一方法:用純文本修改文件Rini.el中的關(guān)于R的搜索,即(setq-defaultinferior-R-program-name“c:/ProgramFiles/rwxxxx/bin/rterm.exe”)----也即只要去掉之前的分號(;).修改桌面圖標(biāo)XEmacs的屬性:在快捷方式的”目標(biāo)”下添加
-q-l“c:\.xemacs\Rinit.el“,在”起始位置”添加存放文件的目錄.95將解壓文件function.xpm,line.xpm,pESS+XEmacs下R的使用---了解XEmacs視窗不是問題的問題:每次打開R_XEmacs可能會彈出信息“Initializationcomplete”,只要點(diǎn)擊OK鍵就行了.安裝后初次使用會在屏幕的底部(“minibuffer”中)出現(xiàn)當(dāng)前窗口無法打開.Rhistory的信息.此記錄歷史命令的文件會在正常退出R與ESS時建立(但只在下面窗口>提示符后直接輸入一個或多個命令后!)96ESS+XEmacs下R的使用---了解XEmacs視窗39733視窗介紹JohnFox將Xemacs主窗口(實(shí)際上稱為frame)分為二個子窗口,上下分開(見上圖所示).在Xemacs主窗口的上方還有一個菜單條(menubar)和一個工具條(toolbar),其內(nèi)容會隨緩沖區(qū)(buffer)主模式(majormode)而變化.你可以通過光標(biāo)在上下子窗口中轉(zhuǎn)換觀察菜單與工具條的變化.J.Fox為R提供了專門的工具條與菜單,非常便于使用(后面介紹).上面的子窗口顯示*scratch*緩沖區(qū),其中你可以輸入R命令.顧名思義,*scratch*緩沖并非永久性的,當(dāng)然你可以將其內(nèi)容保存在文件中.下面的子窗口顯示R經(jīng)Emacs運(yùn)行的結(jié)果,在此緩沖區(qū)中你也可以直接輸入R命令.98視窗介紹34每一子窗口下均有一個模式行(modeline),顯示的緩沖的狀態(tài),其中包括:1)緩沖的名字2)緩沖的主模式(或次模式)3)窗口在緩沖中的位置.上面的子窗口包含*scratch*buffer,處于ESS[S]主模式(主模式由文件的擴(kuò)展名所決定.S指S語言,當(dāng)打開擴(kuò)展名為.r,.R,.s,.S,.q的S語言源代碼時,均處于ESS[S]主模式中),顯示所有(ALL)緩沖內(nèi)容—現(xiàn)在是空的.下面的子窗口包含*R*buffer,處在iESS(inferiorESS–之所以你它是inferior,因?yàn)樗鞘蹺macs控制的!),目前處在緩沖的底部(Bot).你可以滑動游標(biāo)觀察其位置的變化.指針(point):Emacs的光標(biāo),它與通常的光標(biāo)還是有所差異,不過JohnFox在ESS模式下按Windows的習(xí)慣進(jìn)行了修改.在窗口的下方是一個單行的小窗口,稱為minibuffer(小緩沖),主要用于信息顯示,其次若你要輸入Emacs命令,它們會顯示在minibuffer中,最后一命令(如搜索和替換)的響應(yīng)在此完成.99每一子窗口下均有一個模式行(modeline),顯示的緩沖ESS+XEmacs下R的使用---R_XEmacs視窗PastetoR(粘貼至R)按鈕---將上面子窗口中的命令送到下面子窗口中執(zhí)行Pasteline執(zhí)行光標(biāo)所在行Pasteparagraph執(zhí)行光標(biāo)所在段落(其中不含空行)
Pastefunction執(zhí)行已定義的光標(biāo)所在的函數(shù)Pasteregion執(zhí)行用鼠標(biāo)標(biāo)記的區(qū)域SourcetoR執(zhí)行上面子窗口(緩沖區(qū))中的所有命令對于R源文件在執(zhí)行之前會重新保存更新的代碼對于*scratch*buffer中的代碼保存后才能執(zhí)行(不同于前的幾種方式)R文件中的源代碼的執(zhí)行過程不在下面的子窗口中顯示出來!注意:首次使用會在minibuffer中出現(xiàn)Processtoloadinto:R,按回車鍵繼續(xù)
Stop中止當(dāng)前計(jì)算(如由于超時)100ESS+XEmacs下R的使用36R子菜單如果光標(biāo)/指針須在R的源文件中,則會出現(xiàn)ESS菜單,進(jìn)行ESS會出現(xiàn)JohnFox特地為R設(shè)計(jì)的R子菜單.R子菜單本身包括三個子菜單File文件Packages宏包Misc其它它們的功能與RGUI的類似101R子菜單37ESS=>R=>File菜單SourceRcode…打開對話框以選擇源文件Saveworkspace…將R的工作空間存入文件Loadworkspace…加載保存的工作空間ChangeRdirectory…改變工作空間(指R運(yùn)行過程空間,
并非指上面子窗口的源文件目錄)102ESS=>R=>File菜單SourceRcode…ESS=>R=>packages菜單Loadpackage…
加載R宏包,納入搜索目錄InstallpackagefromCRAN…
從CRAN處選擇.下載.安裝宏包(需要internet連接!)Installpackagefromlocalzipfile…
從本地計(jì)算機(jī)或網(wǎng)絡(luò)宏包(zip壓縮文件)UpdatepackagesfromCRAN…
從CRAN處更新宏包–搜索所有安裝宏包的新版本,
下載并安裝103ESS=>R=>packages菜單LoadpackageESS=>R=>Misc菜單Removeallobjects…刪除R工件空間中所有的對象Listobjects…列出R工作空間中的對象Displaypath…列出R的搜索路徑File=>ExitR/Xemacs菜單QuitsavingRworkspace在當(dāng)前的R目錄中保存工作空間Justquit不保存R工作空間直接退出R,系統(tǒng)會
提醒你是否真的不保存修改的緩沖104ESS=>R=>Misc菜單RemoveallobjecR的語法與數(shù)據(jù)結(jié)構(gòu)語法符號>命令或運(yùn)算提示符+續(xù)行符基本算術(shù)運(yùn)算+ 加號-減號* 乘號/ 除號^ 乘方賦值符=或<-105R的語法與數(shù)據(jù)結(jié)構(gòu)語法41求助符?help()例子:>3+5>3-5>3/5>3^5>x=5>?plot>help(plot)106求助符42向量向量是R中最為基本的類型一個向量中元素的類型必須相同,包括數(shù)值型整型單精度實(shí)型雙精度實(shí)型邏輯型復(fù)值型字符型107向量43建立向量的方法(函數(shù))seq()或:若向量(序列)具有較為簡單的規(guī)律rep()若向量(序列)具有較為復(fù)雜的規(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(x)108建立向量的方法(函數(shù))44向量運(yùn)算中的循環(huán)法則(recyclingrule)>1:2+1:4>1:4+1:7109向量運(yùn)算中的循環(huán)法則(recyclingrule)45向量的下標(biāo)(index)與向量子集(元素)的提取正的下標(biāo)提取向量中對應(yīng)的元素負(fù)的下標(biāo)去掉向量中對應(yīng)的元素邏輯運(yùn)算提出向量中元素的值滿足條件的元素注:R中向量的下標(biāo)從1開始,這與通常的統(tǒng)計(jì)或數(shù)學(xué)軟件一致而象C語言等計(jì)算機(jī)高級語言的向量下標(biāo)則從0開始!例子:>x=c(42,7,64,9)>x[1]>x[-2]>x[c(1,4)]110向量的下標(biāo)(index)與向量子集(元素)的提取46>x>10 #值大于10的元素邏輯值[1]TRUEFALSETRUEFALSE>x[x>10]#值大于10的元素[1]4264>x[x<40&x>10]>#產(chǎn)生(0,1)上100個均勻分布隨機(jī)數(shù)>y=runif(100,min=0,max=1)>sum(y<0.5)#值小于0.5的元素的個數(shù)[1]47>sum(y[y<0.5])#值小于0.5的元素的值的和[1]10.84767111>x>10 #值大于10的元素邏輯值47數(shù)據(jù)框架(dataframe)許多數(shù)據(jù)集是數(shù)據(jù)框架的形式出現(xiàn)一個數(shù)據(jù)框架就是將許多向量組合起來的一個對象,它是二維的,通常其列表示變量,其行表示觀測。建立數(shù)據(jù)框架的方法(函數(shù))若你的數(shù)據(jù)本身保存在一個文件中,則可以使用read.table()僅接受帶有分界符的ASCII數(shù)據(jù)如果數(shù)據(jù)是電子報表的形式,則采用下面的兩種變型read.csv()先將數(shù)據(jù)另存為帶逗號的數(shù)據(jù)(Comma
Seperatedvalues)read.delim()先將數(shù)據(jù)另存為用tab作為分界符的數(shù)據(jù)注:若數(shù)據(jù)集很大(如1,000,000觀測x200變量),則可由
ODBC聯(lián)接由數(shù)據(jù)庫讀入.112數(shù)據(jù)框架(dataframe)48若你在R中建立了一些向量并試圖想由它們生成框架,則可以使用data.frame(),但需要同時cbind().例子:>x=c(42,7,64,9)>y=1:4>z.df=data.frame(cbind(INDEX=y,VALUE=x))>z.df INDEX VALUE1 1 422 2 73 3 644 4 9注
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圍墻施工方案鐵藝欄桿
- 課題開題報告:湖北高校專利就地轉(zhuǎn)化的總體態(tài)勢、現(xiàn)實(shí)困境與突圍路徑研究
- 課題開題報告:國際學(xué)生公共漢語培養(yǎng)方案與課程設(shè)置研究
- 魯科版高中化學(xué)選擇性必修2第1章第1節(jié)第2課時量子力學(xué)對原子核外電子運(yùn)動狀態(tài)的描述基礎(chǔ)課課件
- 沉迷網(wǎng)絡(luò)主題教育活動
- 新保險合同準(zhǔn)則提升險企盈利透明性
- 2025年春節(jié)安全教育
- 塑膠毛刷企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 船用鋸材企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 硫化鋇企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報告
- 物業(yè)管理服務(wù)內(nèi)容標(biāo)準(zhǔn)及質(zhì)量保證措施
- 【課件】平移(課件)人教版(2024)數(shù)學(xué)七年級下冊
- 統(tǒng)編版語文五年級下冊第二單元習(xí)作:寫讀后感課件
- 華東師范大學(xué)《外國人文經(jīng)典(上)》2021-2022學(xué)年第一學(xué)期期末試卷
- 肥胖課件教學(xué)課件
- 白菜國畫課件教學(xué)課件
- 2023年4月2日湖北事業(yè)單位聯(lián)考C類《職業(yè)能力傾向測驗(yàn)》試題
- PEP人教版小學(xué)英語六年級下冊單詞表(含音標(biāo))
- 聲樂基礎(chǔ)理論知識單選題100道及答案解析
- 主持課課件教學(xué)課件
- 第四節(jié)-全電路歐姆定律
評論
0/150
提交評論