應(yīng)用統(tǒng)計分析實驗R軟件_第1頁
應(yīng)用統(tǒng)計分析實驗R軟件_第2頁
應(yīng)用統(tǒng)計分析實驗R軟件_第3頁
應(yīng)用統(tǒng)計分析實驗R軟件_第4頁
應(yīng)用統(tǒng)計分析實驗R軟件_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

應(yīng)用統(tǒng)計分析實驗

——R軟件R軟件:免費的,志愿者管理的軟件。編程方便,語言靈活,圖形功能強大有不斷加入的各個方向統(tǒng)計學(xué)家編寫的統(tǒng)計軟件包。也可以自己加入自己算法的軟件包.這是發(fā)展最快的軟件,受到世界上統(tǒng)計師生的歡迎。是用戶量增加最快的統(tǒng)計軟件。對于一般非統(tǒng)計工作者來說,主要問題是它沒有“傻瓜化”。R免費

資源公開(不是黑盒子,也不是吝嗇鬼)R可以在UNIX,Windows和Macintosh運行.R有優(yōu)秀的內(nèi)在幫助系統(tǒng).R有優(yōu)秀的畫圖功能學(xué)生能夠輕松地轉(zhuǎn)到商業(yè)支持的S-Plus程序(如果需要使用商業(yè)軟件)R語言有一個強大的,容易學(xué)習(xí)的語法,有許多內(nèi)在的統(tǒng)計函數(shù).通過用戶自編程序,R語言很容易延伸和擴大.它就是這樣成長的.R是計算機編程語言.類似于UNIX語言,C語言,Pascal,Gauss語言等.對于熟練的編程者,它將覺得該語言比其他語言更熟悉.而對計算機初學(xué)者,學(xué)習(xí)R語言使得學(xué)習(xí)下一步的其他編程不那么困難.那些傻瓜軟件(SAS,SPSS等)語言的語法則完全不同.R的歷史S語言在1980年代后期在AT&T實驗室開發(fā).R項目由Auckland大學(xué)統(tǒng)計系的RobertGentleman和RossIhaka于1995年開始的.它很快得到廣泛用戶的歡迎.目前它是由R核心發(fā)展團隊維持;它是一個由志愿者組成的工作努力的國際團隊下載R軟件學(xué)習(xí)網(wǎng)站/pages/newhtm/r/schtml/R軟件的使用基本語法向量、矩陣list與data.frame讀寫數(shù)據(jù)文件控制語句與自定義函數(shù)二.數(shù)據(jù)描述性分析1.分布2.統(tǒng)計量3.一維數(shù)據(jù)的統(tǒng)計圖形4.多維數(shù)據(jù)的圖形表示R軟件三.回歸分析四.判別分析五.聚類分析六.主成分分析基本語法1.變量使用即定義,變量名區(qū)分大小寫,可用中文命名變量賦值可采用4種形式:=,<-,->,assign()變量類型自動由變量賦值確定。#注釋符號,分號;語句連接符例子: a=10a<-1010->aassign(“a”,10) A=10A<-1010->Aassgin(‘a(chǎn)b’,200) 中國=“中華人民共和國”#生成字符串變量 assign(“中國”,“中華人民共和國”)a=10;A=10;a;A算術(shù)運算符:+,-,*,/,^(乘方),%%(模),%/%(整除)

3.常用的數(shù)學(xué)函數(shù)有:abs,sign,log,log2,

log10,sqrt,exp,sin,cos,tan,acos,asin,atan,cosh,sinh,tanh4.查看幫助,例如:help(round),?abs向量、矩陣向量(一維數(shù)組,下標從1開始)

a=c(d1,d2,d3,…)

間隔為1的等差序列:a:b

指定間隔的等差序列:seq(from,to,by)

seq(length=,from=,by=)

重復(fù)函數(shù):rep(vec,times)

rep(vec,times,len=,each=)

a=c(3,5,8,10)a=1:10;b=seq(1,10,2);c=rep(a,2,each=3)a=seq(-pi,pi,0.2)隨機向量rnorm(10)

#10個服從標準正態(tài)分布的隨機數(shù)z=1:5z[7]=8;z[1]12345NA8

#缺失數(shù)據(jù)NAz[c(1,3,5)]=1:3;z[1]12243NA8z[is.na(z)]=0#函數(shù)is.na()判斷數(shù)據(jù)是否缺失,將其為真的賦為0

z[z<3]#z中小于3的元素z[(length(z)-1):length(z)]#最后二個元素.z[-c(1,3)]#去掉第1、3元素.x=rnorm(10)

sort(x)按從小到大的順序排列order(x)2.矩陣(二維數(shù)組)及多維數(shù)組matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL)byrow=TRUE以行序放置,(默認FALSW,以列序)array(data=NA,dim=c(),dimnames=)a=c(1,2,3,4,5,6,7,8,9,10)b=matrix(data=a,nrow=5,ncol=2,byrow=TRUE)c=array(data=1:12,dim=c(2,3,2))3.向量和數(shù)組/矩陣的轉(zhuǎn)化只要定義向量的維數(shù)即可實現(xiàn)向量和數(shù)組轉(zhuǎn)化例如:c=1:12;

a=matrix(c,nrow=2,ncol=6)

dim(c)=c(3,4);

A=diag(c(1,4,5))#以向量為對角元生成對角矩陣a=diag(A)#獲取矩陣的對角元b=as.vector(c)d=rbind(a,a)#行合并,要求列數(shù)相等e=cbind(a,a)#列合并,要求行數(shù)相等4.維數(shù)問題 dim()#獲得維數(shù),返回向量 nrow(),ncol()#獲得行數(shù)和列數(shù)

rownames(),colnames()#訪問各維名稱x=matrix(rnorm(24),4,6)x[c(2,1),]#第2和第1行x[,c(1,3)]#第1和第3列x[2,1]#第[2,1]元素x[x[,n]>0,n]#第n列大于0的元素x[,-c(1,3)]#沒有第1、3列的x.x[-2,-c(1,3)]#沒有第2行、第1、3列的x.5.基本矩陣運算矩陣間四則運算:+,-,*,/分別是對應(yīng)元素的四則運算向量矩陣間:向量按列匹配與矩陣運算例如:A=matrix(1:6,nrow=3)B=matrix(10:15,nrow=3)C=c(100,200)則:A+BA*BA+C1117105210120413192270102205152136901032066.矩陣運算轉(zhuǎn)置t(mat)行列式det(mat)逆矩陣solve(mat)特征eigen(mat)#返回列表(values,vectors)乘法A%*%B向量內(nèi)積/外積x%*%y,x%o%y(笛卡爾積)生成對角diag(Vec)取對角diag(mat)

奇異值分解svd(mat)mat=UDV’得到列表(d,u,v)qr分解qr(mat)Choleski分解chol(mat)列表和數(shù)據(jù)框1.列表是一種特殊的對象集合,各元素類型任意生成:list(name1=value1,…,namen=valuen)訪問/修改:對象名[[下標]]或?qū)ο竺?nameistu=list(age=10,name=“Tom”,interests=c(“swimming”,”drawing”))stu[[2]]stu$namestu$name=“john”

names(stu)#得到所有的變量名2.數(shù)據(jù)框是R的一種數(shù)據(jù)結(jié)構(gòu),以矩陣形式保存數(shù)據(jù)各列類型可以不同,每列為一變量,每行為樣品各列長度相等生成:data.frame()stu=data.frame(name=c(“john”,”wuji”),age=c(30,32))

x=data.frame(matrix(1:6,nrow=2))

names(stu)#得到所有的變量名

rownames(stu)#得到行名

attach(x)#把數(shù)據(jù)框中的變量鏈接到內(nèi)存中

x=matrix(1:6,2,3)x=data.frame(x);xX1X2X311352246x$X2[1]34attributes(x)$names[1]“X1"“X2"“X3“$s[1]"1""2“$class[1]"data.frame"x=data.frame(id=101:120,score=round(rnorm(20,70,10)))x[seq(1,10,2),]x[order(x[[2]],decreasing=T),]x[x[[2]]<60,]數(shù)據(jù)格式及I/O讀表格形式文本文件read.table(file,header=FALSE,sep=““,…)header表示第一行是否有變量名,sep表示數(shù)據(jù)分割的字符D1=read.table(“e:\\test1.txt”,header=TRUE)D2=read.table(“clipboard”)

3.計算的數(shù)據(jù)保存成文本文件或CSV文本文件write.table(data,file=“”)#純文本格式

例:將數(shù)據(jù)D1寫入文件file_1.txtwrite.table(D1,file=“e:\\file_1.txt”)

1.分支結(jié)構(gòu)單分支:if(條件)語句if(條件){復(fù)合語句;}雙分支:if(條件)語句1else語句2多分支:if()語句1elseif()語句2…elseif()語句nelse語句n+1switch:switch(表達式,list)返回list中下標與表達式對應(yīng)的值例子:x=1;if(x>0){a=10;b=10}else{a=20;b=20;}switch(x,1:5,100,20)#12345

這三個構(gòu)成列表list,返回list[x]控制語句2.循環(huán)結(jié)構(gòu)for(nameinexpress)expr;#{expr_s}while(condition)expr;#{expr_s}

repeat{exprs;if(達到中止條件)break}

中止循環(huán)語句:break;跳空循環(huán)語句:next;例子:完成1到100的求和運算s1=0;j=1;k=1;s2=0;s3=0;for(iin1:100)s1=s1+i;#或者while(j<=100){s2=s2+j;j=j+1;}#或者repeat{s3=s3+k;k=k+1;if(k>100)break}fun<-function(arg1,arg2,…){注意:最后一句表達式的值為返回值}例子:完成一維向量均值運算mymeanmymean=function(x){sum=0;n=length(x)for(jin1:n)sum=sum+x[j]sum=sum/n}meanofx=mymean(1:100);meanofx自定義函數(shù)d

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論