1 / 55

R: Codes and Data Input and Output

R: Codes and Data Input and Output. 林 建 甫 C.F. Jeff Lin, MD. PhD. 台 北 大 學 統 計 系 助 理 教 授 台 北 榮 民 總 醫 院 生 物 統 計 顧 問 美 國 密 西 根 大 學 生 物 統 計 博 士. 2009 Regression R: Codes and Data Input and Output R: 程式與資料輸入與輸出. 林 建 甫 台 北 大 學 統 計 系 助 理 教 授. 資料 數值 (Data Values) .

meredith
Download Presentation

R: Codes and Data Input and Output

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. R: Codes and Data Input and Output 林 建 甫 C.F. Jeff Lin, MD. PhD. 台 北 大 學 統 計 系 助 理 教 授 台 北 榮 民 總 醫 院 生 物 統 計 顧 問 美 國 密 西 根 大 學 生 物 統 計 博 士 Jeff Lin, MD. PhD.

  2. 2009 Regression R: Codes and Data Input and OutputR: 程式與資料輸入與輸出 林 建 甫 台 北 大 學 統 計 系 助 理 教 授 Jeff Lin, MD. PhD.

  3. 資料數值 (Data Values) • 資料以具有名稱的 ``物件'' 形式儲存. • 可以是向量 (vector), 矩陣 (matrix), 陣列 (array), 列表 (Lists), 或 資料框架 (data frames) 等. • 簡單的資料, 可以直接在 R 視窗中輸入. • 大型資料, 通常先以資料庫軟體, 試算表軟體等輸入儲存成 R 的外部檔案. • 由 R 從外部檔案中讀入, 而不是在 R 中, 用鍵盤輸入. Jeff Lin, MD. PhD.

  4. Data Frames Data frames are very powerful. Simply speaking you can treat them as both lists and matrices: > df <- data.frame(name=c(“jon”,”kim”,”dan”), age=c(87,78,45), weight=c(76.3,96.3,62.9), height=c(1.67,1.84,1.54)) > df name age weight height 1 jon 87 76.3 1.67 2 kim 78 96.3 1.84 3 dan 45 62.9 1.54 > df$weight [1] 76.3 96.3 62.9 > df[,c("name","age")] name age 1 jon 87 2 kim 78 3 dan 45 > as.matrix(df) name age weight height 1 "jon" "87" "76.3" "1.67" 2 "kim" "78" "96.3" "1.84" 3 "dan" "45" "62.9" "1.54" Jeff Lin, MD. PhD.

  5. R: 程式輸入 Jeff Lin, MD. PhD.

  6. Editor • 先從程式視窗上端, 點選表單--編輯, 最下方--GUI偏好設定 • GUI 偏好設定, 可點選 MDI mode之後 • 在視窗上端表單--檔案 • 可點選 建立新的命令稿 或 開啟命令稿, 就可開啟一 (新) 文字檔案, 容許輸入指令 • 點選並反白所要執行的指令程式 • 再點選視窗上端表單下小的執行圖示--執行指令程式碼--(類似 ) • 即可執行指令 Jeff Lin, MD. PhD.

  7. Jeff Lin, MD. PhD.

  8. Jeff Lin, MD. PhD.

  9. Jeff Lin, MD. PhD.

  10. Jeff Lin, MD. PhD.

  11. Jeff Lin, MD. PhD.

  12. Data Input Jeff Lin, MD. PhD.

  13. edit() • 輸入一個新的資料組名叫 x.data > x.data<-edit(data.frame()) • 修改名叫 x.data 的資料組 edit(data.frame(x.data)) Jeff Lin, MD. PhD.

  14. Jeff Lin, MD. PhD.

  15. Jeff Lin, MD. PhD.

  16. Jeff Lin, MD. PhD.

  17. Questions?! Jeff Lin, MD. PhD.

  18. 記事本(Notepad) 或 Wordpad 等文字編輯軟體 • 可先寫入指令程式碼 • 然後點選並反白所要執行的指令程式碼 • 在文字編輯軟體點選複製 • 然後在 {R} 點選小的執行圖示--貼上– • 即可執行指令 Jeff Lin, MD. PhD.

  19. Jeff Lin, MD. PhD.

  20. Jeff Lin, MD. PhD.

  21. Jeff Lin, MD. PhD.

  22. Jeff Lin, MD. PhD.

  23. Rcmdr • 由 John Fox, McMaster university (英國) 所寫的 Rcmdr套件, 提供如 SPSS圖形使用者界面(GUI, Graphics User Interface),方便資料處裡與常用的統計分析, 可用以下的指令載入, R會自動安裝與載入其他必要套件. • 第一次使用 套件, Rcmdr 須先連接網際網路, 安裝和更新套件. > library("Rcmdr") • 使用 Rcmdr GUI表單點選, R會自動產生相關指令, 使用者可以在指令視窗中做修改. Jeff Lin, MD. PhD.

  24. Jeff Lin, MD. PhD.

  25. Jeff Lin, MD. PhD.

  26. Jeff Lin, MD. PhD.

  27. Jeff Lin, MD. PhD.

  28. Jeff Lin, MD. PhD.

  29. Rcmdr Jeff Lin, MD. PhD.

  30. Jeff Lin, MD. PhD.

  31. > library("Rcmdr") Jeff Lin, MD. PhD.

  32. Jeff Lin, MD. PhD.

  33. Tinn-R • http://www.sciviews.org/Tinn-R/ Jeff Lin, MD. PhD.

  34. Jeff Lin, MD. PhD.

  35. Jeff Lin, MD. PhD.

  36. Jeff Lin, MD. PhD.

  37. Questions?! Jeff Lin, MD. PhD.

  38. Importing Data 資料輸入 • 習慣上, 資料的第一列 (row) 為變數名稱. • 習慣上, 資料儘量以數字輸入. • 統計軟體都可輸出入 ASCII (純文字) 檔案. • 專業的資料庫軟體都可輸出入 ASCII (純文字) 檔案. • ASCII (純文字) 資料檔案, 可以用任何編輯軟體閱讀 • ASCII (純文字) 資料檔案, 變數間可以 空格, Tab 鍵, 特殊符號 或 “,”分隔. • 專業的資料庫軟體與統計軟體中的 空格 與 Tab 鍵意義不同. • 若是以 “,”分隔, 習慣上副檔名為 ABCData.csv • R 可以讀入 SAS, SPSS, Splus 等資料, 但無法讀入 EXCEL (ABCData.xls) 檔案. Jeff Lin, MD. PhD.

  39. Importing Data 資料輸入 統計分析在習慣上: • 資料庫軟體與統計軟體是不同的. • 沒有一種軟體同時具有專業的資料庫管理與統計分析功能. • EXCEL同時專業的資料庫軟體與統計軟體的功能, 但不是為所有統計專業人說接受. Jeff Lin, MD. PhD.

  40. Importing Data: read.table(): Data in text (ASCII) files, 變數間以空格分開 Jeff Lin, MD. PhD.

  41. Importing Data: read.table(): Data in text (ASCII) files, 變數間以空格分開 > df <- read.table(“foo.txt”, header=TRUE) > dim(df) [1] 221952 6 > summary(df) slide spot R Min. :1.00 Min. : 1 Min. : 30.0 1st Qu.:1.75 1st Qu.:13873 1st Qu.: 60.0 Median :2.50 Median :27745 Median : 102.0 Mean :2.50 Mean :27745 Mean : 487.5 3rd Qu.:3.25 3rd Qu.:41616 3rd Qu.: 233.0 Max. :4.00 Max. :55488 Max. :65211.0 G Rb Gb Min. : 24.0 Min. : 32.00 Min. : 24.00 1st Qu.: 38.0 1st Qu.: 40.00 1st Qu.: 26.00 Median : 59.0 Median : 49.00 Median : 32.00 Mean : 194.7 Mean : 51.85 Mean : 31.92 3rd Qu.: 110.0 3rd Qu.: 64.00 3rd Qu.: 36.00 Max. :62341.0 Max. :1234.00 Max. :255.00 > str(df) `data.frame': 221952 obs. of 6 variables: $ slide: int 1 1 1 1 1 1 1 1 1 1 ... $ spot : int 1 2 3 4 5 6 7 8 9 10 ... $ R : int 4416 335 39 568 42 43 56 40 7912 51 ... $ G : int 1533 155 47 211 50 110 64 45 4535 65 ... $ Rb : int 39 38 39 39 39 39 39 40 39 39 ... $ Gb : int 43 42 43 42 42 44 42 43 42 48 ... Jeff Lin, MD. PhD.

  42. Importing Data: read.table()Data in text (ASCII) files, 變數間以空格分開 Jeff Lin, MD. PhD.

  43. Importing Data: read.table()Data in text (ASCII) files, 變數間以空格分開資料檔案必須在 R 的工作路徑或檔案夾內 > setwd("X://temp//RData") > # Data Managements > DMTKR.read.table<-read.table("DMTKRblank.dat", + header=TRUE, + row.names=NULL, dec=".") > DMTKR.read.table Jeff Lin, MD. PhD.

  44. Importing Data: read.table()Data in text (ASCII) files, 變數間以空格分開 Jeff Lin, MD. PhD.

  45. Importing Data: read.table()Data in text (ASCII) files, 變數間以 “,”分開資料檔案必須在 R 的工作路徑或檔案夾內 Jeff Lin, MD. PhD.

  46. Importing Data > # Data Managements > setwd("C://temp//Rdata") > DMTKRtable<-read.table("DMTKRcsv.csv", header=TRUE, row.names=NULL, sep=",” , dec=".") > DMTKRtable Jeff Lin, MD. PhD.

  47. Jeff Lin, MD. PhD.

  48. Importing Data > setwd("C://temp//Rdata") > DMTKRcsv<-read.csv("DMTKRcsv.csv", header = TRUE, sep = ",", dec=".") > DMTKRcsv > attach(DMTKRcsv) What happens? > scan(file = "DMTKRcsv.csv", skip=1, sep = ",", dec = ".") Jeff Lin, MD. PhD.

  49. attach 與 detach • 若要使用 資料內的變數, 可使用 attach(資料物件) 將資料框架內變數放入 R 的記憶體中. > attach(DMTKRcsv) Jeff Lin, MD. PhD.

  50. Use R Internal Data Frame使用R 內建資料框架 > data() # 查看內建資料框架名稱 > data(Orange) # 載入 R 內建資料框架 Orange > help(Orange) > Orange Tree age circumference 1 1 118 30 2 1 484 58 3 1 664 87 .......................... Jeff Lin, MD. PhD.

More Related