资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,R,繪 圖 功 能,統計繪圖,類別資料,:bar chart,pie chart,連續資料,:stem-and-leaf plot,histogram,box,plot,scatter,plot,2,統計圖形(,Stem-and-Leaf,),Author:John W.Tukey.,References:Tukey(1977)and Velleman and Hoaglin(1981).,用途與特性:莖葉圖主要是用來描述資料分佈的型態,和直方圖具有一樣的性質,但卻比直方圖多了保留原始資料,(keep the original data),的特性。,作法:,決定,stem,(樹幹、主幹)的數值:可想像是直方圖的組距(如:,95,,,stem,記為,9,;若資料數值為,985,,,stem,記為,98,)。,決定,leaf,(樹葉):通常都是數值資料的最後一個位數;定好後將資料每一筆值依序填入莖葉圖的表中(如:,95,,,leaf,記為,5,;若資料數值為,985,,,leaf,記為,5,)。,計算各組次數,(frequency),:填完後記錄各組的個數。,統計圖形(,Stem-and-Leaf,),優點,1,:可呈現實際的觀測值。,優點,2,:可以由此得知資料的排序,(order),,而有序統計量,(order statistics),對於統計分析與推論上,是有很大的幫助。此外,知道資料的排序,就可得知各個資料所屬的樣本百分比,(sample percentiles),。,延伸圖形,1,:,Ordered stem-and-leaf display:,將原先的莖葉圖,在樹葉部分的數值加以排序。,延伸圖形,2,:將原先的,stem,組距縮短,用符號(如:,O,)表示。要注意的是:資料分的組數太多,圖型會比較不平滑,可能大部分的組只有少少的觀測值,但若組數太少,所有資料又會集中在某一組;這兩種情況,都比較無法看出資料集中或是分散的趨勢。,缺點:適合數據較少的資料。,R,指令:,stem(,變數名稱,),統計圖形(,Stem-and-Leaf,),莖葉圖(,Stem-and-Leaf,),Practice,畫出,data2,中,身高的莖葉圖,6,統計圖形(,Box plot),用途與特性:固定資料的尺度位置,利用樣本產生之統計量(最小值,minimum,、第一四分位數,first quartile,、中位數,median,、第三四分位數,third quartile,、最大值,maximum,)來描繪資料的分佈。主要是利用資料尺度固定的特性,用統計量所在的位置來比較兩組以上資料分佈及差異,並察看資料的離散程度,圖形所呈現的訊息比莖葉圖或直方圖少。,作法:,確定資料的尺度。,求資料之最小值,minimum(min),、第一四分位數,first quartile(Q1),、中位數,median(Q2),、第三四分位數,third quartile(Q3),、最大值,maximum(max),。,第一四分位數,first quartile,、第三四分位數,third quartile,分別代表箱子的兩端,中位數,median,所在的位置畫一條線,將箱子切為兩半,從第一四分位數的位置畫一條線,延伸至最小值;從第三四分位數的位置畫一條線,延伸至最大值。,統計圖形(,Box plot),其他:,Interquartile range,四分位距(,IQR,):,IQR,Q3-Q1,第三與第一四分位數的差距;,即箱子的總長度。,Outlier,離群值:也可稱為極端值,若一組資料有極端值的存在,將會影響資料分佈的型態,對於某些統計量(如:平均數)也會有很大的影響。,Tukey,利用,IQR,來判別資料是否具有離群值,他訂立了幾個衡量的量與標準,(Ch6.1 p.330-331),:,Inner fence(,內部柵欄,),:距離,Q1,及,Q3,一點五倍,IQR,的位置。,Outer fence(,外部柵欄,),:距離,Q1,及,Q3,三倍,IQR,的位置。,Suspected outliers,:落在,inner fence,與,outer fence,之間的資料為疑似離群值。,Outliers:,落在,outer fence,之外的資料為離群值。,R,指令:,boxplot(,變數名稱,1),9,X,X,*,o,Median,Q,1,Q,3,Inner,Fence,Inner,Fence,Outer,Fence,Outer,Fence,Interquartile,Range,Smallest data point not below inner fence,Largest data point not exceeding inner fence,Suspected outlier,Outlier,Q,1,-3(IQR),Q,1,-1.5(IQR),Q,3,+1.5(IQR),Q,3,+3(IQR),Elements of a Box Plot,盒鬚圖,(box plot),盒鬚圖,(box plot),boxplot(high),boxplot(c(high,200),10,Practice,畫出,data2,中,體重的盒鬚圖,11,分割資料繪圖,男女身高的分佈可能不同,想要將男女分開畫圖,boxplot(split(high,sex),boxplot(highsex),12,Split,Practice,依照性別,畫出,data2,中,體重的盒鬚圖,13,盒鬚圖,(box plot),boxplot(high,horizontal=T),14,畫成水平的盒鬚圖,盒鬚圖,(box plot),boxplot(split(high,sex),col=c(3,4),xlab=“gender”,ylab=“high”,main=Box plot),15,給男女不同的顏色,y,座標的名稱,圖形的標題,X,座標的名稱,盒鬚圖,(box plot),boxplot(split(high,sex),col=c(red,yellow),xlab=gender,ylab=high,main=Box plot),16,除了數字之外,也可以用文字表示,Practice,依照性別,畫出,data2,中,體重的盒鬚圖,命名,x,軸為,sex,,,y,軸為,weight,,並用不同顏色分別男女。將此圖命名為,“Box plot of weight”,。,17,將圖片存檔,指令,:,savePlot(,欲儲存檔案名稱,type=c(wmf,emf,png,jpeg,jpg,bmp,ps,eps,pdf,),或者,18,統計圖形,盒鬚圖(,Box plot,),par(mfrow=c(2,2),#par,指令是將圖形分成左右兩個位置;,mfrow,表示分割是依據列來做切割,boxplot(data$wt),#,繪製,weight,變項的,box plot,boxplot(data$wt,horizontal=T,ylab=weight,main=Horizontal Box Plot),#horizontal=T,表示畫成水平的盒子圖;,main,xlab,ylab,後面接的字串 分別代表圖形的標題、,x,座標、,y,座標的名稱,,col,為圖形顏色的指令,boxplot(split(data$wt,data$sex),col=c(3,4),xlab=sex,ylab=weight),#,依照性別畫圖,並圖上顏色,boxplot(data$wtdata$sex,col=c(“red”,“yellow”),xlab=“sex”,ylab=“weight”),#,另一種依照類別,(,性別,),畫圖的表示法,#split,函數的第二個變數,或是,後面接的變數,皆是代表要依此分群分類的資料,統計圖形(,Box plot,),Practice,請畫出資料,“airquality”,中,,“Temp”,的盒鬚圖。,請根據不同月份,畫出資料,“airquality”,中,,“Temp”,的盒鬚圖。,(,用不同顏色代表不同月份,,X,軸名稱為,“Month”,,,Y,軸名稱為,“Temperature”),請說明盒鬚圖的結果,21,統計圖形,散佈圖(,Scatter plot,),用途與特性:描述兩個變數、或兩組資料之間的關係或趨勢。,指令:,plot(,變數名稱,1,變數名稱,2),散佈圖,(Scatter plot),plot(weight,high),23,統計圖形(,Scatter plot matrix,),散佈圖矩陣,(scatter plot matrix),當資料有三個變數以上,可以將資料中兩兩變數之間的關係,用散佈圖矩陣呈現。,指令:,pairs(,資料檔名稱,),以鳶尾花為例,data(iris),pairs(iris),散佈圖,(Scatter plot),plot(data1),26,將,data1,中的所有變數,兩兩配對畫出來,Practice,請將,Surgical,的資料讀入,R,看看共有幾個人的資料,每個人的資料收集了幾個變數,請畫出,clot,與,prog,的散佈圖,27,散佈圖中可以設定的參數(,Scatter plot,),指令,說明,main=,加入主要標題,sub=,加入下標題(放在圖最底下),xlab=,ylab=,宣告,X,軸(,Y,軸)的變數,xlim=,ylim=,界定,X,軸(,Y,軸)的上界及下界,ex:xlim=c(1,10),散佈圖中可以設定的參數(,Scatter plot,),指令,說明,type=,說明圖形的種類。“,p,”,:,描點,“,l,”,:畫線,“,b,”,:同時描點及畫線,“,o,”,:和“,b,”,相同,但線會蓋過點,“,h,”,:點的座標用垂直的線表示,“,s,”,:,stairstep plot,,“,n,”,:只有座標軸,lty=,標明線的種類。,1:solid,,,2,:,dashed,,,3,:,dotted,,,4,:,dotdash,,,5,:,longdash,,,6,:,twodash,pch=,設定點的形式,共有,25,種內設的形式(,1,25,)。,另外,也可以自行輸入想要的形式,如:,“,*,”。,col=,設定顏色,可以寫顏色的英文名稱或數字,bg,設定圖的背景顏色,圖形的種類,(type=),plot(data2$weight,data2$high,type=p,main=type=p),plot(data2$weight,data2$high,type=l,main=type=l),plot(data2$weight,data2$high,type=b,main=type=b),plot(data2$weight,data2$high,type=o,main=type=o),plot(data2$weight,data2$high,type=h,main=type=h),plot(data2$weight,data2$high,type=s,main=type=s),30,31,標明線的種類,(lty=),plot(data2$weight,data2$high,type=l,lty=1,main=lty=1),plot(data2$weight,data2$high,type=l,lty=2,main=lty=2),plot(data2$weight,data2$high,type=l,lty=3,main=lty=3),plot(data2$weight,data2$high,type=l,lty=4,main=lty=4),plot(data2$weight,data2$high,type=l,lty=5,main=lty=5),plot(data2$weight,data2$high,type=l,lty=6,main=lty=6),32,33,設定點的型式,(pch=),可選擇的型式,plot(data2$weight,data2$high,pch=1,main=pch=1),plot(data2$weight,data2$high,pch=2,main=pch=2),plot(data2$weight,data2$high,pch=3,main=pch=3),plot(data2$weight,data2$high,pch=%,main=pch=%),plot(data2$weight,data2$high,pch=*,main=pch=*),plot(data2$weight,data2$high,pch=,main=pch=),34,only available on graphsheet,35,Color,36,Practice,在,Surgical,資料,中,用三種不同的點畫出,clot,與,prog,的散佈圖,37,將兩變數畫在同一張圖上(,Scatter plot,),若想將兩個變數畫在同一張圖上,指令,說明,points,將另一個變數的點加在圖上,lines,將資料用線連起來加在圖上,abline,abline(a,b),:加一條斜率為,b,,截距為,a,的直線,abline(h=y),:加一條,Y,y,的水平線,abline(v=x),:加一條,X,x,的水平線,legend,加入說明,用來表示圖中線或點代表的變數,title,加入標題,Example 1,將,data1,中,high,與,weight,依男女分別畫在同一張圖上,39,因為男生的身高介於,157182,,體重介於,5494,,先畫男生的身高,-,體重散佈圖,,X,與,Y,的範圍會被男生的資料決定,(,女生身高介於,149175,,體重介於,4146),Example 1,plot(high_sex$M,weight_sex$M,xlim=c(140,190),ylim=c(40,100),pch=3,col=3),points(high_sex$F,weight_sex$F,pch=4,col=6),plot(high_sex$M,weight_sex$M,xlim=range(high),ylim=range(weight),pch=3,col=3),points(high_sex$F,weight_sex$F,pch=4,col=6),40,加入註解,legend(X,的頂點,Y,的頂點,legend=c(,欲加入的註解,),pch=c(,使用的點的型式,),col=c(,使用的顏色,),lty=c(,使用的線的種類,),Ex:legend(150,95,legend=c(Male,Female),pch=c(3,4),col=c(3,6),41,Example 1,42,(150,95),可以很明顯看出來,女生比男生輕、身高較不高,Q:,有線性關係嗎,?,Example,2,43,若已知身高與體重的關係為,weight=-113.5+1.05high,,將這一條迴歸線加在圖中,abline(,截距,斜率,),abline(-113.5,1.05,col=purple),Example,2,44,Practice,在,Surgical,資料,中,依男女畫出,clot,與,prog,的散佈圖,(gender=0:male;gender=1:gemale),,男女請用不同顏色及標示,並加入註解標明男女。,假設,clot,與,prog,的關係為,porg=57.75+0.95clot,,請將此迴歸線標示於圖上,45,Example 3,46,資料,TemperatureMonth,記錄台灣,26,區域,一月到十二月的平均溫度,將,A,、,B,、,C,三地的每月平均溫度畫在同一張圖上,Practice,47,將,D,、,E,、,F,三地的每月平均溫度畫在同一張圖上,用不同顏色及線條標明,D,、,E,、,F,三地,並加註解,統計圖形(,Scatter plot,),統計圖形(,Scatter plot,),統計圖形(,Histogram,),Author:William Playfair(1759-1823),為數據圖學的先驅。,用途與特性:描述資料的分佈。,作法:決定組距,(continuous data),或是類別數,(categorical/discrete data),,計算各組的個數,直方圖的寬度為資料的組距;高度即各組的個數、或所佔的百分比。,R,指令,:hist(,變數名稱,),hist(),hist(x,breaks=Sturges,freq=NULL,col=NULL,main=paste(Histogram of,xname),xlim=range(breaks),ylim=NULL,xlab=xname,),breaks:,設定組距,自行設定,:c(),利用,seq(),設定分組的組數,(nclass),freq:,畫次數,(T),或是相對頻率,(F),xlim:X,軸取值的範圍,51,直方圖,(Histogram,),hist(high),自動給定組距,hist(high,breaks=c(140,155,165,170,190),52,直方圖,(Histogram,),hist(high,breaks=seq(140,190,10),hist(high,nclass=8),53,直方圖,(Histogram,),hist(high),hist(high,freq=F),54,統計圖形(,Bar plot,),用途與特性:描述資料的分佈,(,特別是類別資料,),。,作法:寬度相同,長度和已知次數成比例的長方形顯示數據的統計圖。,指令,barplot(,變數名稱,),Ex:,barplot(VADeaths),barplot(VADeaths,legend=rownames(VADeaths),title(main=list(Death Rates in Virginia,font=4),Random generation from distribution,Normal distribution,rnorm(n,mean=0,sd=1),Chi-square distribution,rchisq(n,df,ncp=0),Student t distribution,rt(n,df),F distribution,rf(n,df1,df2),Binomial distribution,rbinom(n,size,prob),Poisson distribution,rpois(n,lambda),Uniform distribution,runif(n,min=0,max=1),Random generation from distribution,機率分佈相關的指令,Normal distribution,常態分佈,dnorm(x,mean=0,sd=1)x,值所對應的密度,pnorm(q,mean=0,sd=1)q,值所對應的累積機率,qnorm(p,mean=0,sd=1),累積機率值為,p,所對應的數值,rnorm(n,mean=0,sd=1),利用常態分佈產生,n,個隨機亂數,繪製機率密度函數圖,#=Normal Probability distribution=#,x=c(-250:250)/50,a=dnorm(x,mean=0,sd=1),b=dnorm(x,mean=0,sd=20.5),c=dnorm(x,mean=0,sd=0.5(0.5),dd=dnorm(x,mean=2,sd=1),plot(x,c,pch=+),points(x,b,pch=-,col=blue),points(x,a,col=red,pch=*),points(x,dd,pch=,col=Green),legend(-5,0.55,legend=c(mean=0 var=1,mean=0 var=2,mean=0 var=0.5,mean=2 var=1),pch=c(*,-,+,),col=c(red,blue,black,Green),另一種繪製機率密度函數圖的方法,x=c(-250:250)/50,matplot(x,outer(x,c(0.5,1,2),function(x,sd)dnorm(x,0,sd),lty=1:3,type=c(l,l,l),ylab=,col=c(black,red,blue),),matlines(x,outer(x,c(-1,2),function(x,mu)dnorm(x,mu,1),lty=4:5,type=c(l,l,l),ylab=,col=c(green,purple),legend(1.5,0.8,c(N(0,0.5),N(0,1),N(0,2),N(-1,1),N(-2,1),lty=1:5,col=c(black,red,blue,green,purple),另一種繪製機率密度函數圖的方法,matplot:,將矩陣,(x,y),依據行的資料,畫成圖形。,指令:,matplot(x,y,其餘圖形的設定指令,),;在此,y,是利用,outer,指令產生。,outer:,利用函數,function,產生一個矩陣,亦即生成,(x,y),指令:,outer(x,y,function),function:,自訂函數。,指令:,function(,自訂變數名稱,),表示式或公式。,matlines:,增加不同圖形於,matplot,上面。,matpoints:,同上。,Example of matplot,table(iris$Species)#is data.frame with Species factor,iS-iris$Species=“setosa”,#,邏輯變數,iV-iris$Species=versicolor,#,邏輯變數,op-par(bg=“bisque”),#,背景是燒陶的顏色,matplot(c(1,8),c(0,4.5),type=n,xlab=Length,ylab=Width,main=“Petal and Sepal Dimensions in Iris Blossoms”),#type=“n”,表示座標軸,matpoints(irisiS,c(1,3),irisiS,c(2,4),pch=c(s,S),col=c(2,4),matpoints(irisiV,c(1,3),irisiV,c(2,4),pch=(v,V),col=c(2,4),legend(1,4,c(Setosa Petals,Setosa Sepals,Versicolor Petals,Versicolor Sepals),pch=sSvV,col=rep(c(2,4),2),繪製機率密度函數圖,繪製,Beta,分佈機率密度函數圖形,將,Beta(1,1),Beta(1,2),Beta(1,0.5),Beta(3,2),Beta(4,4),Beta(0.5,0.25),繪製在同一張圖上,統計圖形,圖形控制,說明,例子,高階繪圖函數,自動生成新的座標軸,plot(),hist(),低階繪圖函數,增加點或線至原有的圖上,points(),abline(),繪圖參數,控制一頁圖的所有細節,par(mfrow=c(2,1),par(cex=0.5),參數類型,說明,例子,高階參數,必須在高階繪圖函數下設定,xlab,type,版面編排參數,可以在高階繪圖函數或是,par(),函數下設定,cex,col,一般參數,必須透過,par(),函數才能設定,fig,mfrow,低階繪圖函數,指令,說明,例子,text,可增加文字於設定位置,plot(1:10,type=n),text(2,2,Hi,CWB!),text(locator(1),Hi),box,產生座標軸框框,box(),rect,產生新的矩形,rect(-3,-3,3,3),new,增加高階繪圖函數的圖到現有的圖上,plot(1:10,ylab=),par(new=T),plot(10:1,ylab=),axis,可增加座標軸及修改刻度表示顏色等等細節,par(mfrow=c(2,2),plot(1:10),plot(1:10,axes=F),axis(1),axis(2,lty=2,col=red),axis(3,at=c(5,9),labels=c(A,B),box(),低階繪圖函數,指令,說明,例子,srt,crt,設定文字或符號旋轉的角度,plot(1:10,type=n),text(2,2,srt=90,srt=90),text(4,4,srt=0,srt=0),cex,設定文字或符號大小,par(mfrow=c(2,1),plot(1:10),plot(1:10,cex=0.5),cex.axis,cex.lab,cex.main,cex.sub,設定座標軸文字大小,設定,lab,文字大小,設定標題文字大小,設定子標題文字大小,par(mfrow=c(2,1),plot(1:10,main=”1:10”),plot(1:10,main=”1:10”,cex.axis=0.5,cex.lab=0.5,cex.main=0.5),font,指定文字字型,par(mfrow=c(1,1),plot(1:10,type=n),text(2,2,plain,font=1),text(4,4,bold face,font=2),text(6,6,italic,font=3),text(8,8,bold italic,font=4),低階繪圖函數,指令,說明,例子,las,控制,label,的方向,par(mfrow=c(2,2),plot(1:10,las=0,main=las=0),plot(1:10,las=1,main=las=1),plot(1:10,las=2,main=las=2),plot(1:10,las=3,main=las=3),bty,控制,box,的形式,par(mfrow=c(2,3),plot(1:10,main=bty=o),plot(1:10,bty=n,main=bty=n),plot(1:10,bty=c,main=bty=c),plot(1:10,bty=l,main=bty=l),plot(1:10,bty=7,main=bty=7),plot(1:10,bty=7,main=bty=u),bg,背景顏色,par(bg=lightgray),new,設定點、線、文字等顏色,par(mfrow=c(1,1),plot(1:10,col=1:10,pch=1:10,cex=1:10),Example-text(),畫出,data1,中,身高體重的散佈圖,並標示出其迴歸線,(weight=-113.5+1.05high),73,Practice,畫出,Surgical data,中,,clot,與,prog,的散佈圖,並標示出其迴歸線,(porg=57.75+0.95clot),74,Example-cex,75,設定字形大小,axis(),修改座標軸之文字、刻度、顏色,axis(side,at=NULL,labels=TRUE,tick=TRUE,lty=solid,lwd=1,col=NULL,.),side:1=below,2=left,3=above and 4=right,at:,要修改的位置,labels:,修改座標軸刻度,可以是數字或文字,tick:a logical value specifying whether tickmarks and an axis line should be drawn,box():,產生座標軸框框,76,Example,par(mfrow=c(1,2),boxplot(split(clot,gender),boxplot(split(clot,gender),axes=F),axis(1,1:2,labels=c(male,female),axis(2,tick=F),box(),77,Practice,畫出,Surgical data,中,不同,Dum1,的,clot,之盒鬚圖(,X,軸之標示為,Dum1=0,與,Dum1=1,),78,Table,計算離散型資料的次數分配表,R,函數:,table(,變數,1,變數,2,變數,3,),79,Practice,計算,Surgical data,中,男女的人數,分別列出男女接受,Dum1,治療的人數,80,長條圖(,bar chart,),描述離散型資料之次數分配,barplot(height,width=1,beside=FALSE,horiz=FALSE,density=NULL,main=NULL,sub=NULL,xlab=NULL,ylab=NULL,xlim=NULL,ylim=NULL,.),height:either a vector or matrix of values describing the bars which make up the plot,width:bar widths,beside:,若,height,為矩陣,,beside=T,會將不同變數之長條圖並列,81,Example,82,Example,barplot(table(sex,bt),beside=F,legend=T,col=c(pink,skyblue),barplot(table(sex,bt),beside=F,col=c(pink,skyblue),legend(1,10,legend=c(F,M),pch=15,col=c(pink,skyblue),83,Example,barplot(table(sex,bt),beside=T,legend=T,col=c(3,7),84,Example,barplot(table(sex,bt),beside=T,legend=T,horiz=T,col=c(4,6),85,Practice,畫出,data 1,中,居住區域之長條圖,畫出,data 1,中,血型與居住區域之長條圖(上下堆疊、左右相依、水平),86,在長條圖上標示個數,cc=barplot(table(sex,bt),legend=T,ylim=c(0,12),text(cc,colSums(table(sex,bt)+0.1,colSums(table(sex,bt),87,Example,kk=barplot(table(sex,bt),beside=T,legend=T,col=c(pink,skyblue),ylim=c(0,9),text(kk,table(sex,bt)+0.1,table(sex,bt),88,Practice,畫出,data 1,中,居住區域之長條圖,並標示出其個數。,畫出,data 1,中,血型與居住區域之長條圖,並標示出其個數。,89,Homework,在,TemperatureMonth,資料中,請將,A,、,B,、,C,三地,的各月平均氣溫用不同色的線畫出來,將,X,軸的標示(,1-12,)改成月份(中英文皆可),在圖中空白位置標上學號,90,
展开阅读全文