R統計軟體簡介

53
R 統統統- 統統統統統 2008/02/22 統統統

description

R統計軟體的簡介與安裝過程說明 Edit by Personlin (Original from Dr. Chien-Fu Jeff Lin)

Transcript of R統計軟體簡介

Page 1: R統計軟體簡介

R 統計軟體- 安裝與使用

2008/02/22

林柏伸

Page 2: R統計軟體簡介

R 統計軟體• R 是什麼 , 為什麼要用R?• 安裝與設定• 基本操作• 安裝套件 package

• 資料庫連線設定• 基本繪圖• Demo

Page 3: R統計軟體簡介

R 是什麼• R 系統是由 Ross Ihaka 與 Robert

Gentleman 從 S 語言所發展出來 , 主要是為了統計分析與繪圖

• S 語言早在 1980 年代末期 , 由 AT&T 實驗室 ,Rick Becker, John Chambers, 與 Allan Wilks 發展用來進行統計分析與作圖

• Insightful 公司將 S 商品化 , 並加入許多方便的操作介面 , 稱為 S-plus

• R 可視為統計數學軟體 , 也是一種程式語言

Page 4: R統計軟體簡介

R 是什麼• R 是一個開放原始碼 (open-source,

GNU General Public License) 的統計分析軟體

• R 跟 S 都是以物件導向為主的程式語言• R 的網站 http://www.r-project.org

( 在 Google 搜尋 R 就可以找到 )

• R 最新版本為 2.6.2

Page 5: R統計軟體簡介

為什麼要用R ?

• R 與 S-plus 語法大多相近 , 但是 R 是開放原始碼 (open-source, GNU General Public License)( 免費 , 自由軟體 ), 目前由一群跨國際的志工人員組成的 R 核心發展組織 (R core-development team) 所維持 , 運作與持續更新 .

• R 與 S 都是以物件導向為主的程式語言 , 透過交互作用方式很容易地進行統計分析與繪圖 , 這與 SAS, SPSS 的方式有所不同

Page 6: R統計軟體簡介

為什麼要用R ?

• R 是科學家寫出來的軟體 , 而且被科學家所使用

• 可以在不同平台上執行 Windows, Mac, Unix, Linux, ...

• 簡單安裝• R 是免錢的! • 有數百個擴充套件 (packages) 可以安裝• 有許多文章的發表都順帶包含了R的套件

Page 7: R統計軟體簡介

為什麼要用R ?

• 有很棒的線上說明及文件可以參考• 還有郵件論壇可以發問 (mailing list)

• 很棒的社群 ( 一堆統計專家 ?) – friendly and helpful people...

• 很容易可以呼叫其他語言的函式庫 Fortran, C, Java, ... libraries

Page 8: R統計軟體簡介

安裝與設定• 下載 R http://www.r-project.org• 下載 Tinn-R http://www.sciviews.org/Tinn-R/• 安裝 R• 安裝 R 套件 install_packages.r• 修正 RMySQL 套件的安裝• 安裝 Tinn-R• 在 Tinn-R 設定 R 啟動參數, Options->Main-

>Application->R->Rgui(parameter and path)

Page 9: R統計軟體簡介

http://www.r-project.org/

Page 10: R統計軟體簡介

Taiwan mirror

Page 11: R統計軟體簡介

選擇Windows

Page 12: R統計軟體簡介

請選 base

contrib是套件庫

Page 13: R統計軟體簡介

R-2.6.2-win32.exe

Page 14: R統計軟體簡介

安裝 R

R-2.6.2-win32.exe

Page 15: R統計軟體簡介

安裝的檔案夾位置

GNU 版權聲明

Page 16: R統計軟體簡介

建立開始功能表單

安裝的內容 , 完整安裝

建立捷徑與快速啟動

Page 17: R統計軟體簡介

安裝中……

安裝完成 !!

Page 18: R統計軟體簡介
Page 19: R統計軟體簡介

安裝 Tinn-R

Tinn-R_1.19.4.7_setup.exe

Page 20: R統計軟體簡介

GNU 版權聲明

Page 21: R統計軟體簡介

安裝的檔案夾位置

建立開始功能表單

Page 22: R統計軟體簡介

檔案關聯性設定

Page 23: R統計軟體簡介

安裝中……

安裝完成 ! 並啟動 Tinn-R

Page 24: R統計軟體簡介

呼叫R 介面

Page 25: R統計軟體簡介
Page 26: R統計軟體簡介

可以開始用 R 寫程式啦 !!

Page 27: R統計軟體簡介

基本操作• help.start() 線上說明• help(mean) 指令說明

?mean• example(plot) 範例展示• data() 顯示目前可用的資料• objects(), ls() 顯示目前所有的物件• rm() 移除物件• 注意!!R會區分大小寫不同!!注意!!R會區分大小寫不同!!

Page 28: R統計軟體簡介

變數的分類• "numeric", 實數向量• "integer", 整數向量 ( 有時需特別指定 )• "logical", 邏輯變數向量 (true or false), 以

TRUE (T) 或 FALSE (F) 呈現 ,( 也可以是 1 (T) 與 0 (F).

• "complex", 複數向量• "character", 文字或字串向量 , 通常輸入時 ,

在文字或字串兩側加上雙引號 .• "list", 列表 , 是一個由 R (S) 物件所組成的

向量

Page 29: R統計軟體簡介

R 的物件類別• Vector

• Matrix ( 二維 )

• Array

• List

• Data Frame

• Function

Page 30: R統計軟體簡介

R 當計算機

Page 31: R統計軟體簡介
Page 32: R統計軟體簡介
Page 33: R統計軟體簡介

設定工作目錄• getwd() 檢視目前的工作目錄• # 先開好資料夾 C:\Rwork

• > setwd("C://Rwork ")

• # set new working directory

Page 34: R統計軟體簡介

很多的 pdf說明文件(in English…)

Html的說明文件(in English…) 不知道指令的參數

該怎麼下的時候

help()

?

Page 35: R統計軟體簡介

安裝套件 package

• install.packages()

• 使用 GUI選單

Page 36: R統計軟體簡介

選擇程式套件

Page 37: R統計軟體簡介

安裝程式套件

Page 38: R統計軟體簡介

選擇安裝的鏡射站 (Taiwan)

Page 39: R統計軟體簡介

選擇欲安裝的套件

按著 Ctrl 可以多重選取

Page 40: R統計軟體簡介

完成套件的安裝

Page 41: R統計軟體簡介

推薦安裝套件• Cairo 輸出圖檔的套件• CircStats 可以畫玫瑰圖的套件• circular• DBI RMySQL 需要• mapdata 地圖資料含高解析

world map• mapproj 投影• maps 繪製地圖的套件• maptools Tools for reading and

handling spatial objects• nlme non-linear mixed effect

• RMySQL 跟 MySQL溝通的套件• RSQLite 跟 SQLite溝通的介面• Rwave Time-Frequency analysis

of 1-D signals• seewave Time wave analysis and

graphical representation• sgeostat 地質統計套件• shapefiles 讀寫 Shapefile• signal 訊號處理• spgrass6 讀寫 GRASS 的檔案• timsac 時間序列分析

Page 42: R統計軟體簡介

載入套件 packages

• library()

• 使用 GUI 工具載入套件

Page 43: R統計軟體簡介

修正R MySQL 的安裝• 直接安裝 RMySQL 套件後 , 在欲使用此

package會發生錯誤訊息library(RMySQL)

• 要去下載兩個 dll 檔放到 RMySQL 安裝的路徑下 ,才可以正常載入

Page 44: R統計軟體簡介

複製兩個 dll檔

libMySQL.dll

libmysql.lib

貼到RM ySQL 的安裝目錄下

C:\Program Files\R\R-2.6.2\library\RMySQL\libs

Page 45: R統計軟體簡介

如何連線到資料庫系統• library(RMySQL)

• # open the connection using user, passsword, etc., as• # 開啟 MySQL 連線 ( 寫法一 ) • drv <- dbDriver("MySQL")• con <- dbConnect(drv, group = "rs-dbi", host=“your host ip",

username=“your user name", password=“your password", dbname="NGA")

• # 開啟 MySQL 連線 ( 寫法二 )• con2 <- dbConnect(MySQL(), user=" your user name ", password=" your

password ", dbname="NGA", host=" your host ip ")

Page 46: R統計軟體簡介

繪製地圖• 需要的 package : maps, maptools, mapdata• library(maps,maptools,mapdata)

data(worldHiresMapEnv) <- 載入高解析地圖資料map("worldHires", xlim=c(118, 123), ylim=c(21, 26)) <- 繪製台灣地區地圖map("world", xlim=c(118, 123), ylim=c(21, 26)) <-低解析度

Page 47: R統計軟體簡介

從資料庫取得資料• # Run an SQL statement and extract its output in pieces

(returns a result set):• # 傳送查詢 ( 寫法一 )• rs <- dbSendQuery(con, statement = paste(• "SELECT EQ_ID,NAME",• "FROM EQ",• "WHERE MAG > 7"• ))• data <- fetch(rs, n = -1) # extract all rows• data• dim(data)• names(data)

Page 48: R統計軟體簡介

從資料庫取得資料• # Run an arbitrary SQL statement and extract all its output (returns a

data.frame):• # 傳送查詢 ( 寫法二 )• ID.EQ <- dbGetQuery(con2, "SELECT EQ_ID,NAME FROM EQ")• ID.STATION <- dbGetQuery(con2, "SELECT STATION_ID,Name

FROM STATION")• ID.SGM <- dbGetQuery(con2, "SELECT SGM_ID,EQ_ID,STATION_ID

FROM SGM")• ID.SGM_Meta <- dbGetQuery(con2, "SELECT SGM_ID FROM

SGM_Meta")

Page 49: R統計軟體簡介

查看資料庫連線狀態• # Get meta-information on a connection (thread-id, etc.):• # 取得連線狀態的資料

• summary(MySQL(), verbose = TRUE)• summary(con, verbose = TRUE)• summary(rs, verbose = TRUE)• dbListConnections(MySQL())• dbListResultSets(con)• dbHasCompleted(rs)

Page 50: R統計軟體簡介

中斷連線• dbDisconnect(con)

• dbDisconnect(con2)

Page 51: R統計軟體簡介

Demo

• demo()

• demo(package = .packages(all.available = TRUE))

• demo(Japanese)

• demo(graphics)

• demo(image)

• demo(plotmath)

Page 52: R統計軟體簡介

Demo

• library(tcltk)– demo(tkcanvas)– demo(tkdensity)

• library(rgl)– demo(rgl)

• library(seewave)– demo(seewave)

Page 53: R統計軟體簡介

R 的相關網站• R官方網站: http://www.r-project.org• R 繪圖:

– http://addictedtor.free.fr/graphiques/– http://cged.genes.nig.ac.jp/RGM2/index.php?

clear=all• 中文教學網站:

– 台北大學林建甫老師 http://web.ntpu.edu.tw/~cflin/Teach/R/Rproj.htm

– 中山大學劉正山老師 http://www2.nsysu.edu.tw/politics/liu/main/ResearchTools/appliedStatistics.htm