04 繪圖功能及基本統計
王元俊
Wang Yuan-Jiun
islwangyj@gmail.com
教材
• R 語言資料分析:從機器學習、資料探勘、文 字探勘到巨量資料分析 [第二版] • 作者:李仁鐘、李秋緣 • 出版社:博碩文化股份有限公司 • 書號:MP31714 • 出版日期:2017 年 6 月 2 日 • 範例檔案下載 R 語言資料分析 2R 的繪圖示範
> demo(graphics) C:\Program Files\R\R-3.4.3\library\graphics\demo\ graphics.R > demo(image) C:\Program Files\R\R-3.4.3\library\graphics\demo\ image.R R 語言資料分析 3R 的繪圖指令
1. 高階繪圖 (High-level Plotting Functions)
– 建立一個新的圖形,可以包括座標軸及標題 等。
2. 低階繪圖 (Low-level Plotting Functions)
– 在一個已經存在的圖形上加上其他的圖形元 素,如額外的點及線等。
3. 互動式繪圖 (Interactive Graphics Functions)
– 允許互動式地用其他設備(如滑鼠)在一個 已經存在的圖形上加上圖形資訊。
• 使用「?函數名稱」查詢函數功能,例如 > ?plot
高階繪圖函數
R 語言資料分析 5 plot( ) 以座標 X-Y 繪圖 pie( ) 餅形圖 boxplot( ) 盒形圖 stem( ) 莖葉圖 dotchart( ) 點圖 hist( ) 直方圖 barplot( ) 條形圖 contour( ) 等高線圖範例
> y <− sin(1:20)
> plot(y, type="l", main="Sin Plot", xlab="X", ylab="Y")
低階繪圖函數
R 語言資料分析 7 points( ) 加一個點 lines( ) 加一條線 text( ) 加文字 abline( ) 加一條直線 polygon( ) 多邊形 legend( ) 圖例 title( ) 標題 mtext( ) 圖形邊緣加上文字範例
> y <− sin(1:20)
> plot(y, type="l", main="Sin Plot", xlab="X", ylab="Y") > title(main="Sin Plot", sub="圖4-2:低階繪圖函數圖")
互動式繪圖 (1)
• 使用滑鼠在圖形上取得 (extract) 與增加 (add) 資訊。 • 函數 locator( ):讓使用者用滑鼠左鍵點選當前 圖形上的特定位置。 – 範例: R 語言資料分析 9 使用者可在圖形 中以滑鼠左鍵點 選三個座標點互動式繪圖 (2)
• 函數 identify( ):讓使用者將定義的標籤,利用 滑鼠左鍵放置在滑鼠點選處。
– 範例:
圖形參數 (1)
• R 提供許多圖形參數 (Graphics Parameters) 控 制圖形的顏色、文字對齊等。 • 函數 par( ): 1. 取得目前參數的設定值 > par( ) 2. 更改設定圖形參數 par(par.name = par.value) R 語言資料分析 11圖形參數 (2)
– 範例 1:
圖形參數 (3)
– 範例 2:並排繪製兩個圖
基本統計
• 統計中的敘述統計 (Descriptive Statistic) 主要目 的是透過數值或圖形呈現資料的特性及瞭解樣 本的統計特徵。 • summary( ) 函數:取得資料的分佈資訊 – 最小值 Min、第一個四分位數 1st Qu.、 中位數 Median、平均值 Mean、 第三個分位數 3rd Qu.、最大值 Max R 語言資料分析 14直方圖範例
• 直方圖又稱為柱狀圖,用來表現單變量資料最 常見的圖,可呈現資料之分佈狀況。
– 範例:
另一種直方圖
− histogram( )
• 範例:
盒狀圖 (1)
• 又稱箱型圖或盒鬚圖,可顯示出資料的最大值、 最小值、中位數、第一個四分位數及第三個四 分位數。 • 若將資料由小到大排列並分成四等分,則會有 三個分割點: – 第一個四分位數 – 中位數 – 第三個四分位數 R 語言資料分析 17盒狀圖 (2)
• 範例:
盒狀圖 (3)
• 範例(續):
敘述統計函數 (1)
• 平均值 (Mean) – ̅𝑥𝑥 = ∑𝑖𝑖=1𝑁𝑁 𝑥𝑥𝑖𝑖 𝑁𝑁 – • 中位數 (Median) – 資料經過排序後的中間值,若樣本數為偶數 時,則取中間兩數的平均值。 – R 語言資料分析 20敘述統計函數 (2)
• 眾數 (Mode) – 一組資料中出現次數最多的數字 – – 說明: • table( ) 建立數字出現頻率(次數)的表格 • 例如: • which.max( ):找出最大值及其位置 R 語言資料分析 21敘述統計函數 (3)
• 變異數 (Variance) – 𝑣𝑣𝑣𝑣𝑣𝑣𝑥𝑥 = ∑𝑖𝑖=1𝑁𝑁 (𝑥𝑥𝑖𝑖− ̅𝑥𝑥)2 𝑁𝑁−1 – • 標準差 (Standard Deviation) – 𝑆𝑆𝑥𝑥 = 𝑣𝑣𝑣𝑣𝑣𝑣𝑥𝑥 – R 語言資料分析 22敘述統計函數 (4)
• 相關係數 (Correlation) – 𝑣𝑣𝑥𝑥𝑥𝑥 = ∑𝑖𝑖=1𝑁𝑁 (𝑥𝑥𝑖𝑖− ̅𝑥𝑥)(𝑥𝑥𝑖𝑖− �𝑥𝑥) (𝑁𝑁−1)𝑆𝑆𝑥𝑥𝑆𝑆𝑦𝑦 – R 語言資料分析 23迴歸 (Regression) 分析 (1)
• 一種統計方法,目的在於瞭解兩個或多個變數 間是否相關,並建立數學模型,以觀察特定變 數來預測使用者感興趣的變數,建立應變數 (或稱為依變數、反應變數)與自變數(或稱 為獨立變數、解釋變數)之間關係的模型。 • 線性迴歸是利用一個含有單一或多個自變數的 迴歸公式來預測依變數,如下所示: y = c0 + c1x1 + c2x2 + … + ckxk – y:依變數 (dependent variable)– ci:迴歸係數 (regression coefficients) – xi:自變數 (independent variables)
迴歸分析 (2)
• 範例:
迴歸分析 (3)
• 範例(續)
R 語言資料分析 26
迴歸公式得
迴歸分析 (4)
• 使用函數 coef( ) 取得截距及迴歸係數。
迴歸分析 (5)
• 驗證迴歸公式
迴歸分析 (6)
• 迴歸公式圖