認識電腦軟體 教師: 陳炯勳 [email protected]. 認識電腦軟體 - 系統軟體篇 系統軟體 溝通協通硬體和軟體 控制各種程式及各項資源
R統計軟體簡介
-
Upload
person-lin -
Category
Documents
-
view
41.315 -
download
9
description
Transcript of R統計軟體簡介
R 統計軟體- 安裝與使用
2008/02/22
林柏伸
R 統計軟體• R 是什麼 , 為什麼要用R?• 安裝與設定• 基本操作• 安裝套件 package
• 資料庫連線設定• 基本繪圖• Demo
R 是什麼• R 系統是由 Ross Ihaka 與 Robert
Gentleman 從 S 語言所發展出來 , 主要是為了統計分析與繪圖
• S 語言早在 1980 年代末期 , 由 AT&T 實驗室 ,Rick Becker, John Chambers, 與 Allan Wilks 發展用來進行統計分析與作圖
• Insightful 公司將 S 商品化 , 並加入許多方便的操作介面 , 稱為 S-plus
• R 可視為統計數學軟體 , 也是一種程式語言
R 是什麼• R 是一個開放原始碼 (open-source,
GNU General Public License) 的統計分析軟體
• R 跟 S 都是以物件導向為主的程式語言• R 的網站 http://www.r-project.org
( 在 Google 搜尋 R 就可以找到 )
• R 最新版本為 2.6.2
為什麼要用R ?
• R 與 S-plus 語法大多相近 , 但是 R 是開放原始碼 (open-source, GNU General Public License)( 免費 , 自由軟體 ), 目前由一群跨國際的志工人員組成的 R 核心發展組織 (R core-development team) 所維持 , 運作與持續更新 .
• R 與 S 都是以物件導向為主的程式語言 , 透過交互作用方式很容易地進行統計分析與繪圖 , 這與 SAS, SPSS 的方式有所不同
為什麼要用R ?
• R 是科學家寫出來的軟體 , 而且被科學家所使用
• 可以在不同平台上執行 Windows, Mac, Unix, Linux, ...
• 簡單安裝• R 是免錢的! • 有數百個擴充套件 (packages) 可以安裝• 有許多文章的發表都順帶包含了R的套件
為什麼要用R ?
• 有很棒的線上說明及文件可以參考• 還有郵件論壇可以發問 (mailing list)
• 很棒的社群 ( 一堆統計專家 ?) – friendly and helpful people...
• 很容易可以呼叫其他語言的函式庫 Fortran, C, Java, ... libraries
安裝與設定• 下載 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)
http://www.r-project.org/
Taiwan mirror
選擇Windows
請選 base
contrib是套件庫
R-2.6.2-win32.exe
安裝 R
R-2.6.2-win32.exe
安裝的檔案夾位置
GNU 版權聲明
建立開始功能表單
安裝的內容 , 完整安裝
建立捷徑與快速啟動
安裝中……
安裝完成 !!
安裝 Tinn-R
Tinn-R_1.19.4.7_setup.exe
GNU 版權聲明
安裝的檔案夾位置
建立開始功能表單
檔案關聯性設定
安裝中……
安裝完成 ! 並啟動 Tinn-R
呼叫R 介面
可以開始用 R 寫程式啦 !!
基本操作• help.start() 線上說明• help(mean) 指令說明
?mean• example(plot) 範例展示• data() 顯示目前可用的資料• objects(), ls() 顯示目前所有的物件• rm() 移除物件• 注意!!R會區分大小寫不同!!注意!!R會區分大小寫不同!!
變數的分類• "numeric", 實數向量• "integer", 整數向量 ( 有時需特別指定 )• "logical", 邏輯變數向量 (true or false), 以
TRUE (T) 或 FALSE (F) 呈現 ,( 也可以是 1 (T) 與 0 (F).
• "complex", 複數向量• "character", 文字或字串向量 , 通常輸入時 ,
在文字或字串兩側加上雙引號 .• "list", 列表 , 是一個由 R (S) 物件所組成的
向量
R 的物件類別• Vector
• Matrix ( 二維 )
• Array
• List
• Data Frame
• Function
R 當計算機
設定工作目錄• getwd() 檢視目前的工作目錄• # 先開好資料夾 C:\Rwork
• > setwd("C://Rwork ")
• # set new working directory
很多的 pdf說明文件(in English…)
Html的說明文件(in English…) 不知道指令的參數
該怎麼下的時候
help()
?
安裝套件 package
• install.packages()
• 使用 GUI選單
選擇程式套件
安裝程式套件
選擇安裝的鏡射站 (Taiwan)
選擇欲安裝的套件
按著 Ctrl 可以多重選取
完成套件的安裝
推薦安裝套件• 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 時間序列分析
載入套件 packages
• library()
• 使用 GUI 工具載入套件
修正R MySQL 的安裝• 直接安裝 RMySQL 套件後 , 在欲使用此
package會發生錯誤訊息library(RMySQL)
• 要去下載兩個 dll 檔放到 RMySQL 安裝的路徑下 ,才可以正常載入
複製兩個 dll檔
libMySQL.dll
libmysql.lib
貼到RM ySQL 的安裝目錄下
C:\Program Files\R\R-2.6.2\library\RMySQL\libs
如何連線到資料庫系統• 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 ")
繪製地圖• 需要的 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)) <-低解析度
從資料庫取得資料• # 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)
從資料庫取得資料• # 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")
查看資料庫連線狀態• # 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)
中斷連線• dbDisconnect(con)
• dbDisconnect(con2)
Demo
• demo()
• demo(package = .packages(all.available = TRUE))
• demo(Japanese)
• demo(graphics)
• demo(image)
• demo(plotmath)
Demo
• library(tcltk)– demo(tkcanvas)– demo(tkdensity)
• library(rgl)– demo(rgl)
• library(seewave)– demo(seewave)
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