Presentation is loading. Please wait.

Presentation is loading. Please wait.

統 計 程 式 語 言.

Similar presentations


Presentation on theme: "統 計 程 式 語 言."— Presentation transcript:

1 統 計 程 式 語 言

2 What is R? History and benefit

3 What is R? R was initially written by Ross Ihaka and Robert Gentleman.
Robert Gentleman R Ihaka, R Gentleman (1996) R: A Language for Data Analysis and Graphics. JOURNAL OF COMPUTATIONAL AND GRAPHICAL STATISTICS. V5(3) Ross Ihaka Robert Gentleman

4 What is R? Could be connected with C, Matlab, WinBugs,…
Another version of S Developed at AT&T Bell Lab by R. Becker, J. Chambers, and A. Wilks Open source and flexible: Windows, Unix, Linix, MacOS R is free: downloaded from the Comprehensive R Archive Network (CRAN) Supports and extension of R update everyday. Any leading statistical models and analysis can be found in R (with package) More flexible in programming and analysis. Could be connected with C, Matlab, WinBugs,… Many users around the world. 27 countries and 66 mirror sites.

5 Why R? 引自台灣資料科學愛好者年會 面對龐大與多元的資料浪潮,資料科學世代已經興起,近年來國外企業應用 R 語言進行資料分析已經相當成熟,包含 Google、Facebook、Agoda、Intel、Pfizer、Bank of America 等企業,都採用 R 語言進行資料分析。國際知名的 KDnuggets 論壇最新統計,R 語言已經連續三年獲得資料科學家採用資料分析語言第一名的殊榮。 

6 Why R? 引自台灣資料科學愛好者年會 在眾多的資料分析工具中,R語言在統計分析上最為知名,除了具備物件導向的開發環境、擁有強大的資料視覺化能力、更有支援跨平台與免費等優勢,R 語言專注在資料分析上的特性,使它已經成為目前資料分析和繪圖的主流軟體之一。

7 Why R ? R 語言已是全球廣泛度排名第九的程式語言了!!! 引自台灣資料科學愛好者年會 根據 IEEE Spectrum 的統計,R 語言排行第九,在前面的八名為 Java, C, C++, Python, C#, PHP, Javascript, and Ruby,皆為泛用語言或與網頁開發相關的程式語言。以此來看,R 語言是專用於處理資料的程式語言中最流行的。

8 TIOBE 全球程式語言排名 TIOBE 是全球公認客觀的程式語言排名統計單位。
一個月更新一次。它的統計方法是基於全球有經驗的工程師,科目和第三方廠商。同時也參考來自 google, msn, yahoo 等搜索引擎計算得出的結果 。 R在2014年9月排名第21。相較2012年排名第24名,有逐漸上升的趨勢。

9 Installing R— Click on CRAN
Web page: 1.Click on CRAN

10 Installing R — Select a mirror site

11 Installing R — Select a mirror site

12 Installing R — Select OS in CRAN
Click on Windows

13 Installing R — Select Binaries
Click on base

14 Installing R — Download Setup file
Click here

15 Installing R — Download Setup file

16 Installing R — Download Setup file

17 Installing R — Download Setup file

18 Installing R — Download Setup file
Unclick ‘Message Translations’ to get R in English mode.

19 Installing R — Download Setup file
1 2 3 4

20 Using R Interactive Command Window 可在此視窗做程式編纂,按Enter執行 R主要指令執行視窗
Double click on the R icon

21 R程式編纂與執行【程式存檔 =>*.R】

22 改變工作目錄 【getwd() setwd(dir)】

23 Help Manuals

24 求助 【help(“topic”)】 help(“xxx”) / ?”xxx”:已知指令,欲查詢指令內容或輸入方式

25 求助範例 使用方法 input output

26 求助 【help.search(“指令名稱或關鍵字”) / ??”xxx”】
package function Output會列出指令名稱或指令說明中包含此關鍵字(mean)的所有指令

27 套件(packages)

28 自動載入之套件 stats: 常用統計分析(t.test, anova, etc.) graphics: 基本繪圖工具
grDevices:基本繪圖介面 utils: 基本程式編寫工具 datasets: 數據範例 methods: 定義classes of objects base: 基本函式(IO, 敘述統計, etc.)

29 安裝套件 【以package:leaps為例】

30 載入套件【方法一】

31 載入套件【方法二】

32 套件查詢 Currently, the CRAN package repository features 5816 available packages. Package 查詢: Package “leaps”:

33 套件查詢

34 變數命名及語法 例子:定義一個新的變數叫temp,並且指定其值為24 紅字是輸入,藍字是輸出 大小寫代表不同物件
等號可用箭頭(<-)代替 變數名稱必須為字母或是點(.)開頭 變數名稱由字母、數字、點(.)或下底線( _ )組成,不能含有特殊符號,如:$&!。 正確的命名:x5; x_5; x.5; .x5; x.y.z.5 錯誤的命名:x-5; 5x; x$5 c, q, t, C, D, F, I, T; diff, df, pt, pi, …不可以是物件名稱

35 語法 程式以分號(;)或是換行做分隔。 註解:R不執行#後之內容,故常將程式註解置於#之後。 Recall : 上下鍵。 基本運算:
可以直接輸入數值計算。 若物件屬性與維度相同,可以進行四則運算。 若不能計算,會回傳NaN (not a number),如:log(-1)。

36 R as a calculator 可以直接輸入數值計算 若物件屬性與維度相同,可以進行四則運算
36 可以直接輸入數值計算 若物件屬性與維度相同,可以進行四則運算 常用的數學函數,如log, exp, sin,..可直接計算 若不能計算,會回傳NaN (not a number)

37 查詢、移除已定義物件 37 ls() rm(“A”) rm(list=ls())

38 Environment commands — ls() rm()
紅色字代表輸入的指令、藍色字代表輸出的結果。 R的註解符號為「#」,當程式遇到「#」,後面的文字將不會執行 查詢已存在的package:共九個package 查詢已定義物件:尚無物件 定義新物件(定義新變數為Temp01,並指定其值為9):大小寫代表不同變數 查詢已定義物件:兩個物件temp01 & Temp01 移除已定義物件:移除temp01

39 Practice 請用R計算 請比較log(10); log2(10); log10(10)
39 請用R計算 請比較log(10); log2(10); log10(10) Hint: 可用x!=gamma(x+1)或是x!=prod(1:x)

40 輸入向量 40 c(…) 可以是數值 可以是字串 還可以把每一個元素取名字

41 Practice 41 Weight: 50, 62, 47, 48, 72, 81, 45, 58, 65, 55 Height: 1.58, 1.77, 1.43, 1.52, 1.84, 1.72, 1.45, 1.62, 1.70, 1.55 請計算每個人的BMI及平均BMI

42 將物件存檔 42 save.image("C:\\Users\\user1\\Desktop\\統計軟體\\temp.RData")

43 Input a sequence 用“:”表示從1到10 等距的數列可以用seq (sequence)
43 用“:”表示從1到10 等距的數列可以用seq (sequence) 重複生成相同的數/數列,用rep (replication) Practice: 如何生出 這個數列? Q:如何生出 呢?

44 輸入矩陣 直接輸入矩陣的元素,再指定其維度 利用matrix這個function。 1:12為矩陣內元素
44 直接輸入矩陣的元素,再指定其維度 利用matrix這個function。 1:12為矩陣內元素 nrow=number of row Note: ncol=number of column

45 矩陣運算 維度相同才能加減 x*y: x,y相同位置的元素直接相乘 x%*%t(y): 需維度符合才可相乘/除
45 維度相同才能加減 x*y: x,y相同位置的元素直接相乘 x%*%t(y): 需維度符合才可相乘/除 t(y): transpose of y

46 其他相關函數 cbind/rbind solve(A) rownames/colnames
46 cbind/rbind solve(A) rownames/colnames is.matrix/as.matrix, is.numeric/as.numeric, … colSums/rowSums, colMeans/rowMeans eigen(x)

47 Operations

48 Practice 48 輸入矩陣 計算 比較: A×AT和A2有何不同? 那(A×AT)-1和solve(A)有何不同?

49 Operations --- 定義變數 Function Example Output 數字運算 1+1 2 序列 -2:2
c(1:5) rep(1, 5) rep(1:2, 3) factor(c(“a”, “b”)) a b temp= seq(1, 10, 0.01) #從1到10的數列,每0.01為間隔 [1] … temp[2] #讀取temp第二筆資料 1.01 矩陣 matrix(1:6, 2, 3) #建立一個2×3矩陣 [,1] [,2] [,3] [1,] [2,]

50 Operations 運算符號 Example 邏輯符號 加號 (+) X+Y 大於等於(>=) X>=Y 減號 (-) X-Y
小於等於(<=) X<=Y 乘號 (*) X*Y 不等於(!=) X!=Y 除號 (/) X/Y 或(|) (X>=3)|(Y>=5) 冪次 (^) X^Y 且 (&) (X>=3)&(Y<=5)

51 Operations


Download ppt "統 計 程 式 語 言."

Similar presentations


Ads by Google