Lecture 1 Rattle

1.1 裝置

Rattle是R社群裡廣為人知的資料探勘視窗套件,開發者Graham Williams也出了一本書 Data Mining with Rattle and R— The Art of Excavating Data for Knowledge Discovery (Springer-Verlag, 2011)。這個GUI設計的水準相當高,不只是資料探勘,所納入的視覺化功能更是精彩。

R版本4.2有了一個針對MS Windows很大的改變,也就是須要UCRT(Universal C Run-Time)。Win 10以前都必需先透過Update裝好,R的運作才會正常。很不幸的,Rattle有兩個核心元件:RGtk2和cairoDevice,在筆者改版之際,尚不支援UCRT環境。所以,會無法啟動rattle。克服的方法也很簡單,就是R版本選用4.1.3之前即可。RStudio的使用者,只要進入選單最右方的: Tools → Global Options就可以切換版本。

進入主控台,執行由CRAN裝置rattle

install.packages(“rattle”)


之後,進入https://rattle.togaware.com/ (如圖 1.1)看自己的電腦是何種規格,複製RGtk2和cairoDevice的裝置語法,貼到R命令列執行就可以。

如果所裝置的套件很多,使用選單上的load會耗一點時間(約10秒);因此,除了這樣啟動,一個更簡易的方法就是在主控台命令列,輸入2行命令,如圖1.2,這樣啟動更快。

如提示語,在命令列鍵入rattle()

圖 1.2: 如提示語,在命令列鍵入rattle()

library(rattle)
rattle()
進入rattle的使用圖形介面(GUI)

圖 1.3: 進入rattle的使用圖形介面(GUI)


1.2 外部資料載入 .csv

rattle可以載入多種外部資料,可參考圖 1.1-3選單下第一列source的按鈕。從常用的試算表,ODBC資料庫,還有文字資料。如果是個人使用,常用的是 .csv 格式的數據。我們用R內的一筆常用的汽車數據,auto.csv,來解說載入資料方法。這筆資料如圖 1.4

進入rattle的使用圖形介面(GUI)

圖 1.4: 進入rattle的使用圖形介面(GUI)


這筆資料有14個變數
 Model:汽車的廠牌和類型.
 Origin:汽車出廠國,三個來源 A, E, J
 Price:價格,以美元計
 MPG:一加侖能跑的英里數.
 Rep78:1978 年維修記錄時的車況,1 (最糟) - 5 (最好).
 Rep77:1977 年維修記錄時的車況,1 (最糟) - 5 (最好).
 Hroom:頭的空間,以英吋計.
 Rseat:後座寬敞程度,以英吋計.
 Trunk:後車箱容量,以立方英尺計.
 Weight:車身重量,以英磅計.
 Length:車身長度,以英吋計
 Turn:迴轉所需半徑,以英尺計.
 Displa:引擎所佔空間,以立方英尺計.
 Gratio:高速檔的比率(gear ratio).

載入資料,有兩個關鍵步驟

 步驟 1. 見圖1.5,從Filename進入資料所在資料夾,這類似檔案總管,選定資料後,就會如圖顯示檔名。

取得資料檔名與位置

圖 1.5: 取得資料檔名與位置

 步驟 2。按圖1.6上框起來的【Execute】也就是「執行」– 將資料載入rattle。如果要看一看(View)或編輯(Edit)載入的資料,就選圖上面圓圈圈住的兩個按鈕。

載入資料

圖 1.6: 載入資料

載入後,rattle下半部會出現載入檔案數據的特徵,有數個欄位,說明如下:
 No.:變數序數。
 Variable:變數名稱。
 Data Type:資料性質。Categoric是類別; Numeric是數字。
 Input:就是解釋變數X。
 Target:就是被解釋變數(或反應變數)Y,也就是資料分析的對象。Rattle會判斷某一個,讀者再依自己研究需求自行更改。
 Risk~Weight:最後4個按鈕選項,是指變數在模型內的其他角色。有功能性,如 {Weight} - 是加權用的;和選擇性,如
 {Ignore},如果按鈕選擇這一項,就是分析時,不納入模型的變數。
 Comments:變數數據的性質,如缺值多少等等。

最下方是資料的整體文字說明和設定的簡單結構:74筆觀察值,13個變數,…。瞭解這個之後,也載入資料完畢,就進入rattle的資料分析世界。很快地,你就會變成資料採礦,數據分析的高手了。

1.3 載入R內建資料data (mtcars)

1.6資料載入,第4格式稱為R Dataset指的是R內建的資料。R本身有許多內建資料,提供使用者方便學習。在rattle載入這一型的資料,方法如下:

 步驟1。在R主控台(Console),輸入語法:
data(mtcars)


mtcars這筆資料內建於R系統,載入這種內建資料,要用函數data()。

 步驟2。在主控台載入後,rattle介面就會出現數據選項,如圖 1.7,點選後,再按左上角Execute,就可以將mtcars這筆內建資料載入rattle視窗。

載入R內建數據檔 mtcars

圖 1.7: 載入R內建數據檔 mtcars


當然,rattle的資料載入不僅限於內建資料,所有的外部資料,都可以讀取,再載入rattle。例如,
Dat <- read.csv(filename.csv)


只要使用read.csv()函數並給定物件名稱Dat,就可以在rattle內,用圖 1.3-1載入數據物件Dat。筆者使用rattle,多半都是用此方式載入資料,這樣安排是希望讀者有了rattle的使用經驗後,學習上會更有感覺。