R教學 Graph 2(繪圖2) 羅琪老師.

Slides:



Advertisements
Similar presentations
洞庭月,衡岳云,巫山雨, 波撼气蒸,揽天下风光,堪 称独步; 崔灏诗,范相记,王勃序, 两楼一阁,数江南文物,各 有千秋。
Advertisements

第三章专利权属纠纷 本章学习要点 1.专利申请权纠纷、专利权属纠纷及其他相关纠纷的概念和特点 2.职务发明创造与非职务发明创造的判断
中关村知识产权文化园区行 政策体系宣讲 二〇〇九年四月
SPSS 軟體與統計應用 Ya-Yun Cheng, How-Ran Guo
第六章 统计表与统计图 第一节 统计表 第二节 统计图 1.
資料分析 ---敘述統計分析.
Dr. Baokun Li 经济实验教学中心 商务数据挖掘中心
小学语文常用说明方法 广州市越秀区云山小学 高年级 李晓泓.
Measures of location and dispersion
第一章 生物统计学基本知识 1、明确统计在做什么事情、将用什么样的方式去做。 2、生物统计与统计学的关系,其涉及哪些内容 1.
2014年北京市企业 创新调查问卷培训 (建筑业企业用)
形神兼备,写活人物 ——外貌描写写作指导 丰县华山初级中学 王艳丽.
医学统计学 8 主讲人 陶育纯 医学统计学 8 主讲人 陶育纯
統計學 郭信霖 許淑卿.
如何使用 Excel 與SPSS繪製 統計圖型
歷史背景 1931年,台灣總督府創設”台南高等工業學校”於台南市;”機械工學 科”是創校時成立、歷史最悠久之三個學系之一
医学统计学 主讲人:信息部 林雪君.
第一章.
統計學 授課教師:林志偉 Tel:5021.
Descriptive statistics
東亞運動會 Be the legend 創造傳奇一刻.
SPC introduction.
SAS  統計程序實作 CONTENTS By DR. Yang , Yi-Chiang /11/11.
方煒 台大生機系 李登華、姚文隆 高雄第一科技大學機械系 2005 農機/生機論文發表會 屏東
第二章 SAS的描述统计功能 2.1 描述性统计的基本概念 2.2 在SAS中计算统计量 2.3 统计图形.
R教學 Graph 2(繪圖2) 羅琪老師.
Continuous Probability Distributions
第 5 章 樣本資料的數值分布.
3.2 Tally Table:將資料分成等距離的組別,再
Chapter 2 第二章 Presenting Data in Tables and Charts 統計圖及表的應用
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
R教學 單元5 敘述統計 羅琪老師.
敘述統計-資料的特性 Properties of Variable
Chapter 2 頻率分配.
STATA 7 蘇國賢.
第 3 章 敘述統計II:數值方法 Part B (3.3~3.6).
第一章 敘述統計學.
統計基本觀念 壹、資料 資料來源:實驗之量測結果,抽樣調查結果,公告資料。 一、資料類型
圖表製作 集中指標 0628 統計學.
第 4 章 分散量數.
第四章 SPSS的基本统计分析.
第 2 章 敘述統計:表格與圖形法.
敍述統計學 許明宗.
統計圖表繪製 何沛勝.
第一次上統計Tutorial 就上手 不是只有上一次嗎.
表達及陳列統計資料 統計圖表 統計量數 次數分配表 直方圖 次數多邊圖 累加次數圖 條形圖 圓形比例圖 集中量數 變異量數或離散量數
敘述統計I:表格與圖形法 Part A ( ) 第 2 章 敘述統計I:表格與圖形法 Part A ( )
Chap 9 Testing Hypotheses and Assessing Goodness of Fit
網路遊戲版 幸福農場168號.
统 计 学 (第三版) 2008 作者 贾俊平 统计学.
Chapter 7 Section 1 The earning distribution 洪泰齡
EXCEL+ORIGN+SPSS的描述统计
資料整理與次數分配 Organizing Data 社會統計(上).
Homework 1(1/2) 本頁表格為派密(Peavy)在07年球季各場次ERA的表現,(1)請依此數據完成下頁表格之統計值並說明之;(2)並與其他三名投手之統計值比較之。(請詳述計算過程) 場次 各場次ERA
Dr. C. Hsieh College of Informatics Kao yuan University
张乃根 复旦大学 特聘教授 知识产权研究中心 主任
五.連續變數及常態分佈 (Continuous Random Variables and Normal Distribution)
Review of Statistics.
怎樣找書? ~認識索書號 圖書館推動教師/林秀芳.
楊志強 博士 統計學 楊志強 博士
第7章 基本统计分析 2019/5/14.
第二章 資料之收集與展現 2.2 資料之收集 有兩種類型之資料: 原始資料:因研究所需而收集之資料,可
第二章 次數分配表與統計圖 第一節 次數分配表的製作 第二節 統計圖的製作 第三節 次數分配的形狀和性質 第四節 電腦習作.
统计软件应用 4 主讲人 陶育纯 SPSS统计分析 统计软件应用 4 主讲人 陶育纯 教案.
统计软件应用 4 主讲人 陶育纯 SPSS统计分析 统计软件应用 4 主讲人 陶育纯 教案.
何正斌 博士 國立屏東科技大學工業管理研究所 教授
主講人 陳陸輝 特聘研究員兼主任 政治大學選舉研究中心 美國密西根州立大學博士
Statistical Table and Statistical Graph
科研工具之图表制作---Sigmaplot
分類樹(Classification Tree)探討Baseball Data
Presentation transcript:

R教學 Graph 2(繪圖2) 羅琪老師

Bar plot長條圖 長條圖或稱條形圖,常用來顯示類別資料的分佈情形。 它用寬度相等、條帶的長短表示各類別次數的多寡。 類別資料可藉由長條圖以圖示法描述。 橫軸為類別 縱軸為次數或百分比等 使用barplot() 函數來建立長條圖

汽車趨勢資料 汽車趨勢汽車道路測試資料(Motor Trend Car Road Tests) 資料是取自於1974年的美國汽車發展趨勢雜誌,內容包括32款汽車(1973-74型號)在油耗及10個汽車設計和性能方面的數據。

汽車趨勢資料 資料集中有11個變數32個觀察值 mpg Miles/(US) gallon 公哩/加侖 cyl Number of cylinders 氣缸數 disp Displacement (cu.in.) 容量 hp Gross horsepower 總馬力 drat Rear axle ratio  後輪軸比

汽車趨勢資料 資料集中有11個變數32個觀察值 wt Weight (1000 lbs) 重量 qsec ¼ mile time ¼哩的時間 vs V/S 發動機類型 (0 = V型, 1 = S型) am Transmission (0 = automatic, 1 = manual) 變速器(0-自動, 1-手動) gear Number of forward gears 前進檔位數 carb Number of carburetors 化油器數

Motor Trend Car Road Tests

Simple Bar Plot簡單長條圖 > attach(mtcars) > counts <- table(gear) # 建立前進檔位數的次數分配 > counts 3 4 5 15 12 5 > barplot(counts, main="Car Distribution", xlab="Number of Gears")

Simple Bar Plot簡單長條圖

Simple Bar Plot簡單長條圖 > barplot(counts, main="Car Distribution", xlab="Number of Gears", border = "red") # border = “red” 長條邊框使用顏色設定為紅色 # border = NA 長條忽略邊框

Simple Bar Plot簡單長條圖

Simple Bar Plot簡單長條圖 > barplot(counts, main="Car Distribution", col=c("red", "blue", "green"), names.arg=c("3 Gears", "4 Gears", "5 Gears")) # col 每個長條顏色 # names.arg 每個長條名稱

Simple Bar Plot簡單長條圖

Simple Bar Plot簡單長條圖(橫式) > barplot(counts, main="Car Distribution", horiz=TRUE, names.arg=c("3 Gears", "4 Gears", "5 Gears")) # horiz=TRUE 畫橫式, horiz=FALSE 畫直式 # names.arg 每個長條名稱

Simple Bar Plot簡單長條圖(橫式)

Simple Bar Plot簡單長條圖(橫式) > count1<-counts/32*100 # 計算百分比次數 > count1 gear 3 4 5 46.875 37.500 15.625 > barplot(count1, main="Car Distribution", horiz=TRUE, names.arg=c("3 Gears", "4 Gears", "5 Gears"), xlim=c(0,50)) # horiz=TRUE 畫橫式, horiz=FALSE 畫直式 # names.arg 每個長條名稱 # xlim=c(0,50) x軸的範圍設為0~50

Simple Bar Plot簡單長條圖(橫式)

Grouped Bar Plot分組的長條圖 > counts <- table(vs, gear) # 建立按vs與gear分類的交叉表 > counts 3 4 5 0 12 2 4 1 3 10 1 > barplot(counts, main="Car Distribution by Gears and VS", xlab="Number of Gears", col=c("darkblue","red"), legend = rownames(counts), beside=TRUE) # col 每個長條顏色 # legend = rownames(counts) 圖例使用counts列的名稱 # beside=TRUE 分組長條左右並列

Grouped Bar Plot分組的長條圖

Grouped Bar Plot分組的長條圖 > count1<-counts > count1[1,]<-counts[1,]/sum(counts[1,]) # 計算vs=0, gear的條件比例 > count1[2,]<-counts[2,]/sum(counts[2,]) # 計算vs=1, gear的條件比例 > count1 gear vs 3 4 5 0 0.66666667 0.11111111 0.22222222 1 0.21428571 0.71428571 0.07142857

Grouped Bar Plot分組的長條圖 > barplot(count1, main="Car Distribution of Gears by VS", xlab="Number of Gears", col=c("darkblue","red"), legend = c("V", "S"), beside=TRUE) # col 每個長條顏色 # legend = c(“V”, “S”) 圖例使用自己給的名稱 # beside=TRUE 分組長條左右並列

Grouped Bar Plot分組的長條圖

Stacked Bar Plot堆疊的長條圖 > counts <- table(vs, gear) > counts gear vs 3 4 5 0 12 2 4 1 3 10 1 > barplot(counts, main="Car Distribution by Gears and VS", xlab="Number of Gears", col=c("darkblue","red"), legend = rownames(counts)) # col 每個長條顏色 # legend = rownames(counts) 圖例使用counts列的名稱 # beside=FALSE(內設, 沒設定表示就是FALLSE) 分組長條上下並列

Stacked Bar Plot堆疊的長條圖

Simple Bar Plot簡單長條圖(橫式) > par(las=2) # 使標籤文字垂直於軸線 > par(mar=c(5,8,4,2)) # 增加 y-軸 邊界寬度 > counts <- table(gear) > barplot(counts, main="Car Distribution", horiz=TRUE, names.arg=c("3 Gears", "4 Gears", "5 Gears"), cex.names=0.8) # names.arg 自定每個長條名稱 # 名稱大小為原來大小的0.8倍

Simple Bar Plot簡單長條圖(橫式)

Pie Chart圓餅圖 圓餅圖常用來呈現某類別變數的構成百分比%,即以各組的相對次數將該圓餅分為若干扇形部分。 亦常用於表示資料的部分與整體之間的比例關係。 整個圓的面積表示整體,對圓進行分割得到多個扇形的面積表示部分。 使用pie(x, labels=) 函數來建立圓餅圖

Simple Pie Chart簡單圓餅圖 > slices <- c(10, 12, 4, 16, 8) # 輸入每個扇形的次數 > lbls <- c("US", "UK", "Australia", "Germany", "France") # 輸入每個扇形的標籤 > pie(slices, labels = lbls, main="Pie Chart of Countries") # 畫圓餅圖

Simple Pie Chart簡單圓餅圖

Simple Pie Chart簡單圓餅圖 > slices <- c(10, 12, 4, 16, 8) # 輸入每個扇形的次數 > lbls <- c("US", "UK", "Australia", "Germany", "France") # 輸入每個扇形的標籤 > pct <- round(slices/sum(slices)*100) # 計算每扇形百分比 > lbls <- paste(lbls, pct) > lbls <- paste(lbls,“%”,sep=“”) # 增加% 符號到標籤 > pie(slices, labels = lbls, col=rainbow(length(lbls)), main="Pie Chart of Countries") # 畫圓餅圖, col=rainbow(length(lbls)) 顏色用彩虹, 幾個彩虹由length(lbls), lbls的個數決定

Simple Pie Chart簡單圓餅圖

Simple Pie Chart簡單圓餅圖 > pie(slices,labels = lbls, cex=2, col=rainbow(length(lbls)), main="Pie Chart of Countries", cex.main=2) # 畫圓餅圖 # cex=2 是將標籤放大2倍 # cex.main=2 是將標題放大2倍

Simple Pie Chart簡單圓餅圖

Simple Pie Chart簡單圓餅圖 > slices <- c(10, 12, 4, 16, 8) # 輸入每個扇形的次數 > lbls <- c("US", "UK", "Australia", "Germany", "France") > pct <- round(slices/sum(slices)*100) # 計算每個扇形百分比, 並四捨五入到整數 > lbls <- paste(lbls, “\n”, pct, sep=“”) # 印出標籤, 然後換列, 再增加百分比到標籤 > lbls <- paste(lbls, "%", sep="") # 增加% 符號到標籤 > pie(slices, labels = lbls, col=rainbow(length(lbls)), main="Pie Chart of Countries \n (with percentage)") # 畫圓餅圖 # \n 代表換列

Simple Pie Chart簡單圓餅圖

3D Pie Chart立體圓餅圖 > install.packages(“plotrix”) # 安裝plotrix套件 > library(plotrix) #連接plotrix套件 > slices <- c(10, 12, 4, 16, 8) # 輸入每個扇形的次數 > lbls <- c("US", "UK", "Australia", "Germany", "France") # 輸入每個扇形的標籤 > pie3D(slices, labels=lbls, explode=0.1, main="Pie Chart of Countries ") # 畫立體圓餅圖 # explode=0.1 是將3D扇形爆開0.1

3D Pie Chart立體圓餅圖

Donut plot甜甜圈圖, 環狀圖 > > slices <- c(10, 12, 4, 16, 8) # 輸入每個扇形的次數 > lbls <- c("US", "UK", "Australia", "Germany", "France") > pct <- round(slices/sum(slices)*100) # 計算每個扇形百分比, 並四捨五入到整數 > lbls <- paste(lbls, pct) # 增加百分比到標籤 > lbls <- paste(lbls,“%”,sep=“”) # 增加% 符號到標籤 > doughnut(slices, lbls, main="Pie Chart of Countries\n (with percentage)") # 畫環狀圖

Donut plot甜甜圈圖, 環狀圖

Histograms直方圖 一般常見的定量資料的圖形表示就是直方圖 (histogram)。 在建構直方圖之前,資料須先經過分組 分組不要分太多組或太少組,組數應在5到20之間,視資料的多寡而定 分組之後,然後再建立次數分配、相對次數分配或百分比次數分配。

Histograms直方圖 我們有興趣之變數置於直方圖的橫軸上,而次數、相對次數或百分比次數則置於直方圖的縱軸上。 每一分組的次數、相對次數或百分比次數以一個長方形表示,其寬度是該組別之組寬,高度則是相對應之次數、相對次數或百分比次數。 使用下面函數建立直方圖 hist(x) hist(x, nclass=n) # 組數 hist(x, breaks=b, ...) # 分組設定

直方圖與長條圖的差異 長條圖 直方圖 https://www.mathsisfun.com/data/histograms.html

Histograms直方圖 一般常見的定量資料的圖形表示就是直方圖 (histogram)。 在建構直方圖之前,資料須先經過分組 分組不要分太多組或太少組,組數應在5到20之間,視資料的多寡而定 分組之後,然後再建立次數分配、相對次數分配或百分比次數分配。

Histograms直方圖 在生態領域學家最重要的活動之一是透過記錄觀察到生物的距離來估算人口密度(Buckland et al., 2001)。距離資料的分組方式影響距離資料進行調整並影響稍後用於推論的人口密度。當談到瀕危和稀有物種,對於決定如何分組資料,會影響保護行動、法院裁決等的決策,圈形圖用於普查鳥類。觀察員坐在半徑r的一個想像的圓中心,記錄距離和發現的物種。在內華達山脈鳥類密度的研究,資料都是針對黄喉蟲森鶯 (Nashville warbler)。

Histograms直方圖 以下是84個的觀察值,每個觀察值是從20個這樣的重複,每個記錄為50微米的半徑: 15 16 10 8 4 2 35 7 5 14 14 0 35 31 0 10 36 16 5 3 22 7 55 24 42 29 2 4 14 29 17 1 3 17 0 10 45 10 9 22 11 16 10 22 48 18 41 4 43 13 7 7 8 9 18 2 5 6 48 28 9 0 54 14 21 23 24 35 14 4 10 18 14 21 8 14 10 6 11 22 1 18 30 39

Histograms直方圖 > distance <- c(15, 16, 10, 8, 4, 2, 35, 7, 5, 14, 14, 0, 35, 31, 0,10, 36, 16, 5, 3, 22, 7, 55, 24, 42, 29, 2, 4, 14, 29, 17, 1, 3, 17, 0, 10, 45, 10, 9, 22, 11, 16, 10, 22, 48, 18, 41, 4, 43, 13, 7, 7, 8, 9, 18, 2, 5, 6, 48, 28, 9, 0, 54, 14, 21, 23, 24, 35, 14, 4, 10, 18, 14, 21, 8, 14, 10, 6, 11, 22, 1, 18, 30, 39) # 輸入資料

Histograms直方圖 > par(mfrow=c(2,2)) # 一頁配置2列2行共4個圖 > hist(distance, xlab=" ", main="breaks =11", ylab=“frequency”, col=“gray90”) # 沒寫breaks代表為11 > hist(distance, xlab=" ", main="breaks =20", ylab="", breaks=20 ,col="gray90") > hist(distance, xlab="distance(m)", main="breaks =8", ylab="frequency", breaks=8, col="gray90") > hist(distance, xlab="distance(m)", main="breaks =4", ylab="", breaks=4, col="gray90")

Histograms直方圖 breaks are one of: Breaks可以是下面其中一個 a vector giving the breakpoints between histogram cells, 一個向量給予直方圖格子分隔點 a function to compute the vector of breakpoints, 一個函數用來計算分隔點向量 a single number giving the number of cells for the histogram, 一個數字給予直方圖的格子數 a character string naming an algorithm to compute the number of cells (see ‘Details’), 一字串給演算法的名稱用來計算格子數 a function to compute the number of cells. 一個函數用來計算格子數

Histograms直方圖

Histograms直方圖 下面是有關植物生長的資料(Dobson, 1983). 資料集比較三種(1控制組, 2治療組)的生產量用植物的幹重量 控制組重量多借於 5 與 5.5 間. 治療組1重量多借於4 與 5 間 治療組2重量多借於5.25 與 5.75間.

Histograms直方圖 >data(PlantGrowth) >head(PlantGrowth) # 看前6筆資料 weight group 1 4.17 ctrl 2 5.58 ctrl 3 5.18 ctrl 4 6.11 ctrl 5 4.50 ctrl 6 4.61 ctrl > dim(PlantGrowth) [1] 30 2 >attach(PlantGrowth)

Histograms直方圖 >par(mfrow = c(1, 3)) # 一頁配置1列3行共3個圖 >a <- hist(weight[group == 'ctrl'], xlim = c(3, 6.5), ylim = c(0, 4), xlab = '', ylab = 'frequency', main = 'control', col = 'gray90') >b <- hist(weight[group == 'trt1'], xlab = 'weight', ylab = '', main = 'treatment 1', >c <- hist(weight[group == 'trt2'], xlab = '', ylab = '', main = 'treatment 2',

Histograms直方圖

a是一個list > a $breaks # 分隔點 [1] 4.0 4.5 5.0 5.5 6.0 6.5 $counts # 次數 [1] 2 2 4 1 1 $density # 機率密度 [1] 0.4 0.4 0.8 0.2 0.2 $mids # 每條中間 [1] 4.25 4.75 5.25 5.75 6.25 $xname [1] "weight[group == \"ctrl\"]" $equidist [1] TRUE attr(,"class") [1] "histogram"

Histograms直方圖(y軸是機率密度) > densa <- density(weight[group == 'ctrl']) > densa Call: density.default(x = weight[group == "ctrl"]) Data: weight[group == "ctrl"] (10 obs.); Bandwidth 'bw' = 0.3147 x y Min. :3.226 Min. :0.001427 1st Qu.:4.183 1st Qu.:0.047615 Median :5.140 Median :0.260913 3rd Qu.:6.097 3rd Qu.:0.493439 Max. :7.054 Max. :0.603467 > hist(weight[group == 'ctrl'], xlim=range(densa$x), xlab = '', main = 'control', ylab = ‘density', col = 'gray90', probability = TRUE) > lines(densa)

Histograms直方圖(y軸是機率密度) > densb <- density(weight[group == 'trt1']) > densb Call: density.default(x = weight[group == "trt1"]) Data: weight[group == "trt1"] (10 obs.); Bandwidth 'bw' = 0.2808 x y Min. :2.748 Min. :0.001682 1st Qu.:3.779 1st Qu.:0.095639 Median :4.810 Median :0.214293 Mean :4.810 Mean :0.242147 3rd Qu.:5.841 3rd Qu.:0.389357 Max. :6.872 Max. :0.576520 > hist(weight[group == ‘trt1’], xlim=range(densb$x), xlab = 'weight', ylab = '', main = ‘treatment 1’, col = 'gray90', probability = TRUE) > lines(densb)

Histograms直方圖(y軸是機率密度) > densc <- density(weight[group == 'trt2']) > densc Call: density.default(x = weight[group == "trt2"]) Data: weight[group == "trt2"] (10 obs.); Bandwidth 'bw' = 0.1981 x y Min. :4.326 Min. :0.002333 1st Qu.:4.970 1st Qu.:0.094173 Median :5.615 Median :0.362466 Mean :5.615 Mean :0.387309 3rd Qu.:6.260 3rd Qu.:0.597773 Max. :6.904 Max. :0.990217 > hist(weight[group == ‘trt2’], xlim=range(densc$x), xlab = '', ylab = '', main = 'treatment 2', col = 'gray90', probability = TRUE) > lines(densc)

Histograms直方圖(y軸是機率密度) 灰色區域面積=1

汽車趨勢資料 資料集中有11個變數32個觀察值 mpg Miles/(US) gallon 公哩/加侖 cyl Number of cylinders 氣缸數 disp Displacement (cu.in.) 容量 hp Gross horsepower 總馬力 drat Rear axle ratio  後輪軸比

汽車趨勢資料 資料集中有11個變數32個觀察值 wt Weight (1000 lbs) 重量 qsec ¼ mile time ¼哩的時間 vs V/S 發動機類型 (0 = V型, 1 = S型) am Transmission (0 = automatic, 1 = manual) 變速器(0-自動, 1-手動) gear Number of forward gears 前進檔位數 carb Number of carburetors 化油器數

Motor Trend Car Road Tests

Histograms直方圖(加常態曲線) > Mtcars # 汽車趨勢資料 > attach(mtcars) # 連接汽車趨勢資料 > hist(mpg) # 簡單直方圖 > hist(mpg, breaks=12, col=“red”) # 紅色直方圖條狀數=12 > x <- mpg > h<-hist(x, breaks=10, col="red", xlab="Miles Per Gallon", main=“Histogram with Normal Curve”) # 畫直方圖 > xfit<-seq(min(x),max(x),length=40) # x軸資料最小到最大分40值 > yfit<-dnorm(xfit,mean=mean(x),sd=sd(x)) # y軸將x值代入常態 > yfit <- yfit*diff(h$mids[1:2])*length(x) # 綠色是機率 > lines(xfit, yfit, col=“blue”, lwd=2) # 加藍色常態曲線

Histograms直方圖(加常態曲線) > h $breaks [1] 10 12 14 16 18 20 22 24 26 28 30 32 34 $counts [1] 2 1 7 3 5 5 2 2 1 0 2 2 $density [1] 0.031250 0.015625 0.109375 0.046875 0.078125 0.078125 0.031250 0.031250 0.015625 0.000000 0.031250 0.031250 $mids [1] 11 13 15 17 19 21 23 25 27 29 31 33 $xname [1] "x" $equidist [1] TRUE attr(,"class") [1] "histogram" > h$mids[1:2] [1] 11 13

Histograms直方圖(加常態曲線)

五個數字的彙總(5-number summary) 一般我們拿到資料後,為了能快速對這組觀察值提供資訊,最常用的統計量就是五個數彙總(five-number summary),也就是利用下列五個數來匯總資料。 最小值 第一四分位數 (Q1) (25百分位數) 中位數(第二四分位數) (Q2) (50百分位數) 第三四分位數 (Q3) (75百分位數) 最大值

盒形圖(Box plot) 盒形圖(box plot)是根據五數彙總而繪製的圖形。 盒形圖(box plot)也稱為箱形圖或盒鬚圖(box-and-whisker plot),因其型狀如箱子而得名。 繪製盒形圖的關鍵在求出四分位距 IQR=Q3-Q1。 盒形圖是1977年由美國著名統計學 家約翰·圖基(John Tukey)發明。 它能顯示出一組數據的最大值、最 小值、中位數、下四分位數及上四 分位數。 https://en.wikipedia.org/wiki/John_Tukey

盒形圖例子 這組數據顯示出: 最小值(minimum)=0.5 下四分位數(Q1)=7 中位數(Median)=8.5 不含極端值的最小值 最大值 Extreme outlier mild outlier Q1 Q3 中位數 這組數據顯示出: 最小值(minimum)=0.5 下四分位數(Q1)=7 中位數(Median)=8.5 上四分位數(Q3)=9 最大值(maximum)=10 平均值=8(盒子正中間) 四分位距(interquartile range)=IQR=Q3-Q1=9-7=2

盒形圖(Box plot) > par(mfrow=c(1,1)) > mtcars # 汽車趨勢資料 > attach(mtcars) # 連接汽車趨勢資料 > boxplot(mpg, horizontal=TRUE, xlab="Miles Per Gallon")

盒形圖(Box plot) > boxplot(mpg, horizontal=TRUE, xlab="Miles Per Gallon“ , col=“pink”) # horizontal=TRUE 水平盒形圖

分組盒形圖(side-by-side box plot) > boxplot(mpg~cyl,data=mtcars, main="Car Milage Data", xlab="Number of Cylinders", ylab="Miles Per Gallon")

分組盒形圖(side-by-side box plot) > boxplot(mpg~cyl,data=mtcars, main="Car Milage Data", xlab="Number of Cylinders", ylab="Miles Per Gallon“, col=“gold")

分組盒形圖(side-by-side box plot) > boxplot(mpg~cyl, main="Milage by Car Weight", yaxt="n", xlab="Milage", horizontal=TRUE, col=terrain.colors(3)) # 3種地球色 > legend("topright", inset=.05, title="Number of Cylinders", c("4","6","8"), fill=terrain.colors(3), horiz=TRUE) # 圖例 右上(topright) 內插=0.05 水平(horiz=TRUE)

分組盒形圖(side-by-side box plot)

分組盒形圖(side-by-side box plot) > boxplot(mpg~cyl*am, data=mtcars, col=(c("gold","darkgreen")), main="Miles Per Gallon", xlab="cylinders and transmission") # 按氣缸數與變速器(0-自動, 1-手動)分組盒形圖

常態機率圖 > rad<-read.csv(“c:/RData/radiation.csv”) # 微波爐輻射資料 > rad # 看微波爐輻射資料 > names(rad) # 微波爐輻射資料變數名稱 > attach(rad) # 連接微波爐輻射資料 > par(mfrow=c(1,2)) # 一頁配置1列2行共2個圖 > qqnorm(rad[,1], main="Normal Q-Q Plot(door closed)") # 產生 Q-Q plot for radiation data (door closed) > qqline(rad[,1]) # 在常態機率圖上畫45度線 > qqnorm(rad[,2], main="Normal Q-Q Plot(door open)") # Produce a Q-Q plot for radiation data (door open) > qqline(rad[,2]) # 在常態機率圖上畫45度線

常態機率圖 大部分的點沒有接近一直線, 常態分配的假設不滿足

常態機率圖 > srad_sqrt(rad) # 將兩變數都作√ 轉換 > qqnorm(srad[,1], ylab=“sqrt(door closed radiation) quantiles”, main="Normal Q-Q Plot(door closed)") > qqline(srad[,1]) > qqnorm(srad[,2], ylab=“sqrt(door open radiation) quantiles”, main="Normal Q-Q Plot(door open)") > qqline(srad[,2])

常態機率圖 將兩變數都作√轉換

iPlots Iplots套件提供互動式可連結接和刷顏色的馬賽克圖,長條圖,盒形圖,平行圖,散佈圖和直方圖。 iplots是通過為R 的Java GUI執行

iPlots > install.packages(“iplots”,dep=TRUE) # 安裝 iplots # Create some linked plots > library(iplots) > cyl.f <- factor(mtcars$cyl) # 設定變數為因子 > gear.f <- factor(mtcars$factor) # 設定變數為因子 > attach(mtcars) > ihist(mpg) # 直方圖 > ibar(carb) # 長條圖 > iplot(mpg, wt) # 散佈圖 > ibox(mtcars[c(“qsec”,“disp”,“hp”)]) # 盒形圖 > ipcp(mtcars[c(“mpg”,“wt”,“hp”)]) # 平行圖 > imosaic(cyl.f, gear.f) # 馬賽克圖

iPlots

付出最多的人,也是收穫最多的人 ~共勉之~