R là gì ? font face=verdana size=3Nói một cách ngắn gọn, Rfont face=verdana size=3 là một phần mềm sử dụng cho phân tích thống kê và đồ thị. Thật ra, về bản chất, Rfont face=verdana size=3 là ngôn ngữ máy tính đa năng, có thể sử dụng cho nhiều mục tiêu khác nhau, từ tính toán đơn giản, toán học giải trí (recreational mathematics), tính toán ma trận (matrix), đến các phân tích thống kê phức tạp. Vì là một ngôn ngữ, cho nên người ta có thể sử dụng Rfont face=verdana size=3 để phát triển thành các phần mềm chuyên...
Hướng dẫn phân tích số liệu vẽ biểu đồ R Giới thiệu ngôn ngữ R 2.1 R ? font face="verdana" size="3">Nói cách ngắn gọn, Rfont face="verdana" size="3"> phần mềm sử dụng cho phân tích thống kê đồ thị Thật ra, chất, Rfont face="verdana" size="3"> ngơn ngữ máy tính đa năng, sử dụng cho nhiều mục tiêu khác nhau, từ tính tốn đơn giản, tốn học giải trí (recreational mathematics), tính tốn ma trận (matrix), đến phân tích thống kê phức tạp Vì ngơn ngữ, người ta sử dụng Rfont face="verdana" size="3"> để phát triển thành phần mềm chuyên mơn cho vấn đề tính tốn cá biệt font face="verdana" size="3">Hai người sáng tạo Rfont face="verdana" size="3"> hai nhà thống kê học tên Ross Ihaka Robert Gentleman Kể từ Rfont face="verdana" size="3"> đời, nhiều nhà nghiên cứu thống kê toán học giới ủng hộ tham gia vào việc phát triển Rfont face="verdana" size="3"> Chủ trương người sáng tạo Rfont face="verdana" size="3"> theo định hướng mở rộng (Open Access) Cũng phần chủ trương mà Rfont face="verdana" size="3"> hồn tồn miễn phí Bất nơi giới truy nhập tải tồn mã nguồn R font face="verdana" size="3">về máy tính để sử dụng Cho đến nay, qua chưa đầy năm phát triển, có nhiều nhà thống kê học, toán học, nghiên cứu lĩnh vực chuyển sang sử dụng R font face="verdana" size="3">để phân tích liệu khoa học Trên tồn cầu, có mạng lưới gần triệu người sử dụng R, font face="verdana" size="3">và số tăng theo cấp số nhân Có thể nói vịng 10 năm nữa, không cần đến phần mềm thống kê đắt tiền SAS, SPSS hay Stata (các phần mềm giá lên đến 100.000 USD năm) để phân tích thống kê nữa, tất phân tích tiến hành R font face="verdana" size="3">Vì thế, làm nghiên cứu khoa học cần nên học cách sử dụng R font face="verdana" size="3">cho phân tích thống kê đồ thị Chương hướng dẫn bạn đọc cách sử dụng Rfont face="verdana" size="3"> 2.2 Tải R xuống cài đặt vào máy tính font face="verdana" size="3">Để sử dụng Rfont face="verdana" size="3">, việc phải cài đặt R font face="verdana" size="3">trong máy tính Để làm việc này, ta phải truy nhập vào mạng vào website có tên “Comprehensive R Archive Network” (CRAN) sau đây: font face="verdana" color="#0000ff" size="3"> http://cran.R-project.orgfont face="verdana" size="3"> font face="verdana" size="3">Tài liệu cần tải về, tùy theo phiên bản, thường có tên bắt đầu mẫu tự R số phiên (version) Chẳng hạn phiên mà tác giả sử dụng vào cuối năm 2005 2.2.1, nên tên tài liệu cần tải là: R-2.2.1-win32.zip font face="verdana" size="3">Tài liệu khoảng 26 MB, địa cụ thể để tải là: font face="verdana" color="#0000ff" size="3"> http://cran.r- project.org/bin/windows/base/R-2.2.1-win32.exe font face="verdana" size="3">Tại website này, tìm thấy nhiều tài liệu dẫn cách sử dụng Rfont face="verdana" size="3">, đủ trình độ, từ sơ đẳng đến cao cấp Nếu chưa quen với tiếng Anh, tài liệu cung cấp thơng tin cần thiết để sử dụng mà không cần phải đọc tài liệu khác font face="verdana" size="3">Khi tải Rfont face="verdana" size="3"> xuống máy tính, bước cài đặt (set-up) vào máy tính Để làm việc này, đơn giản nhấn chuột vào tài liệu làm theo hướng dẫn cách cài đặt hình 2.3 Package cho phân tích đặc biệt Rfont face="verdana" size="3"> cung cấp cho “ngôn ngữ” máy tính số function để làm phân tích đơn giản Nếu muốn làm phân tích phức tạp hơn, cần phải tải máy tính số package khác Package phần mềm nhỏ nhà thống kê phát triển để giải vấn đề cụ thể, chạy hệ thống Rfont face="verdana" size="3"> Chẳng hạn để phân tích hồi qui tuyến tính, Rfont face="verdana" size="3"> có function lmfont face="verdana" size="3"> để sử dụng cho mục đích này, để làm phân tích sâu phức tạp hơn, cần đến package lme4 Các package cần phải tải máy tính cài đặt font face="verdana" size="3">Địa để tải package là: font face="verdana" face="verdana" color="#0000ff" size="3">, size="3"> bấm vào http://cran.r-project.orgfont phần “font face="verdana" color="#0000ff" size="3">Packagesfont face="verdana" size="3">” xuất bên trái mục lục trang web Một số package cần tải máy tính để sử dụng cho ví dụ sách là: font face="verdana" font face="verdana" size="3"> Chức size="3"> Tên package lattice font face="verdana" size="3"> Dùng để vẽ đồ thị làm cho đồ thị đẹp Hmisc font face="verdana" size="3"> Một số phương pháp mơ hình liệu F Harrell Design font face="verdana" size="3"> Một số mô hình thiết kế nghiên cứu F Harrell Epi font face="verdana" size="3"> Dùng cho phân tích dịch tễ học epitools font face="verdana" size="3"> Một package khác chuyên cho phân tích dịch tễ học foreign font face="verdana" size="3"> Dùng để nhập liệu từ phần mềm khác SPSS, Stata, SAS, v.v… Rmeta font face="verdana" size="3"> Dùng cho phân tích tổng hợp (meta-analysis) meta font face="verdana" size="3"> Một package khác cho phân tích tổng hợp survival font face="verdana" size="3"> Chun dùng cho phân tích theo mơ hình Cox (Cox’s proportional hazard model) splines font face="verdana" size="3"> Package cho survivalfont face="verdana" size="3"> vận hành Zelig font face="verdana" size="3"> Package dùng cho phân tích thống kê lĩnh vực xã hội học genetics font face="verdana" size="3"> Package dùng cho phân tích số liệu di truyền học BMA font face="verdana" size="3"> Bayesian Model Average leaps font face="verdana" size="3"> Package dùng cho BMA 2.4 Khởi động ngưng chạy R font face="verdana" size="3">Sau hoàn tất việc cài đặt, icon xuất desktop máy tính Đến sẵn sàng sử dụng R font face="verdana" size="3">Có thể nhấp chuột vào icon có cửa sổ sau: font face="verdana" size="3"> R font face="verdana" size="3">thường sử dụng dạng "command line", có nghĩa phải trực tiếp gõ lệnh vào prompt màu đỏ Các lệnh phải tuân thủ nghiêm ngặt theo “văn phạm” ngôn ngữ Rfont face="verdana" size="3"> Có thể nói tồn viết nhằm hướng dẫn bạn đọc hiểu viết theo ngôn ngữ Rfont face="verdana" size="3"> Một văn phạm R font face="verdana" size="3">phân biệt Libraryfont face="verdana" size="3"> libraryfont face="verdana" size="3"> Nói cách khác, R font face="verdana" size="3">phân biệt lệnh viết chữ hoa hay chữ thường Một văn phạm khác có hai chữ rời nhau, Rfont face="verdana" size="3"> thường dùng dấu chấm để thay vào khoảng trống, chẳng hạn data.frame,t.test,read.table,font face="verdana" size="3">v.v…Điều quan trọng, khơng để ý làm người sử dụng font face="verdana" size="3">Nếu lệnh gõ “văn phạm” R font face="verdana" size="3">sẽ cho prompt khác hay cho kết (tùy theo lệnh); lệnh khơng văn phạm R font face="verdana" size="3">sẽ cho thông báo ngắn khơng hay khơng hiểu Ví dụ, gõ: > x Để biết hàm cần có thơng số nào, dùng lệnh args(x), (args viết tắt chữ arguments) mà x hàm cần biết: > args(lm) function (formula, data, subset, weights, na.action, method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, contrasts = NULL, offset, ) NULL Rfont face="verdana" size="3"> ngôn ngữ “đối tượng” (object oriented language) Điều có nghĩa liệu Rfont face="verdana" size="3"> chứa object Định hướng có vài ảnh hưởng đến cách viết Rfont face="verdana" size="3"> Chẳng hạn thay viết x = 5font face="verdana" size="3"> thông thường viết, Rfont face="verdana" size="3"> yêu cầu viết x == 5font face="verdana" size="3"> font face="verdana" size="3">Đối với Rfont face="verdana" size="3">, x = 5font face="verdana" size="3"> tương đương với x Cách viết sau (dùng kí hiệu ) khuyến khích cách viết trước (=) Chẳng hạn như: > x có nghĩa mơ 10 số liệu chứa object xfont face="verdana" size="3"> Chúng ta viết x = rnorm(10) font face="verdana" size="3">Một số kí hiệu hay dùng Rfont face="verdana" size="3"> là: x == font face="verdana" size="3">x x != font face="verdana" size="3">x không y < x font face="verdana" size="3">y nhỏ x x > y font face="verdana" size="3">x lớn y z z nhỏ p >= font face="verdana" size="3">p lớn is.na(x) font face="verdana" size="3">Có phải x biến số missing A & B font face="verdana" size="3">A B (AND) A | B font face="verdana" size="3">A B (OR) ! font face="verdana" size="3">Không (NOT) font face="verdana" size="3">Với R,font face="verdana" size="3"> tất câu chữ hay lệnh sau kí hiệu # khơng có hiệu ứng, # kí hiệu dành cho người sử dụng thêm vào ghi chú, ví dụ: > # lệnh sau mô 10 giá trị normal > x Đặt tên đối tượng (object) hay biến số (variable) Rfont face="verdana" size="3"> linh hoạt, Rfont face="verdana" size="3"> khơng có nhiều giới hạn phần mềm khác Tên object phải viết liền (tức không cách khoảng trống) Chẳng hạn R chấp nhận myobjectfont face="verdana" size="3"> không chấp nhận my objectfont face="verdana" size="3"> > myobject my object Nhưng tên myobjectfont face="verdana" size="3"> khó đọc, nên tách rời “.” my.objectfont face="verdana" size="3"> > my.object Một điều quan trọng cần lưu ý R phân biệt mẫu tự viết hoa viết thường Cho nên My.object khác với my.object Ví dụ: > My.object.u my.object.L My.object.u + my.object.L [1] 20 font face="verdana" size="3">Một vài điều cần lưu ý đặt tên Rfont face="verdana" size="3"> là: font face="verdana" size="3"> Không nên đặt tên biến số hay variable kí hiệu “_” (underscore) my_objectfont face="verdana" size="3"> hay my-objectfont face="verdana" size="3"> font face="verdana" size="3"> Không nên đặt tên object giống biến số liệu Ví dụ, có data.framefont face="verdana" size="3"> (dữ liệu hay dataset) với biến số agefont face="verdana" size="3"> đó, khơng nên có object trùng tên agefont face="verdana" size="3">, tức không nên viết: age Tuy nhiên, data.frame tên datafont face="verdana" size="3"> đề cập đến biến số agefont face="verdana" size="3"> với kí tự $font face="verdana" size="3"> sau: data$agefont face="verdana" size="3"> (Tức biến số agefont face="verdana" size="3"> data.frame datafont face="verdana" size="3">), trường hợp đó, age chấp nhận 2.7 Hỗ trợ R font face="verdana" size="3">Ngoài lệnh args()font face="verdana" size="3"> Rfont face="verdana" size="3"> cung cấp lệnh help()font face="verdana" size="3"> để người sử dụng hiểu “văn phạm” hàm Chẳng hạn muốn biết hàm lmfont face="verdana" size="3"> có thơng số (arguments) nào, đơn giản lệnh: > help(lm) font face="verdana" size="3">hay > ?lm font face="verdana" size="3">Một cửa sổ bên phải hình rõ cách sử dụng chí có ví dụ Bạn đọc đơn giản copy dán ví dụ vào R để xem cách vận hành font face="verdana" size="3">Trước sử dụng R, sách cần bạn đọc đọc qua phần dẫn có sẵn R cách chọn mục help sau chọn Html help hình để biết thêm chi tiết Bạn đọc copy dán lệnh mục vào R để xem cho biết cách vận hành R font face="verdana" size="3">Thay chọn mục trên, bạn đọc đơn giản lệnh: > help.start() font face="verdana" size="3">và cửa sổ xuất dẫn toàn hệ thống R font face="verdana" size="3">Hàm apropos có ích cung cấp cho tất hàm R bắt đầu kí tự mà muốn tìm Chẳng hạn muốn biết hàm R có kí tự “lm” đơn giản lệnh: > apropos(lm) font face="verdana" size="3">Và R báo cáo hàm với kí tự lm sau có sẵn R: [1] ". C anova.glm" [4] ". C glm.null" [7] "anova.glm" ". C anova.glm.null" ". C glm" ". C lm" "anova.glmlist" [10] "anova.lmlist" "anova.mlm" [13] "contr.helmert" "glm" [16] "glm.fit" "glm.fit.null" ". C mlm" "anova.lm" "anovalist.lm" "glm.control" "hatvalues.lm" [19] "KalmanForecast" "KalmanLike" [22] "KalmanSmooth" "lm" "lm.fit" "lm.influence" "lm.wfit" [25] "lm.fit.null" [28] "lm.wfit.null" "model.frame.glm" [31] "model.matrix.lm" [34] "plot.lm" [37] "predict.lm" [40] "print.lm" [43] "rstandard.glm" [46] "rstudent.lm" "KalmanRun" "nlm" "plot.mlm" "model.frame.lm" "nlminb" "predict.glm" "predict.mlm" "print.glm" "residuals.glm" "residuals.lm" "rstandard.lm" "rstudent.glm" "summary.glm" "summary.lm" [49] "summary.mlm" "kappa.lm" 2.8 Môi trường vận hành font face="verdana" size="3">Dữ liệu phải chứa khu vực (directory) máy tính Trước sử dụng R, có lẽ cách hay tạo directory để chứa liệu, chẳng hạn c:\works\stats Để R biết liệu nằm đâu, sử dụng lệnh setwd (set working directory) sau: > setwd(“c:/works/stats”) font face="verdana" size="3">Lệnh báo cho R biết liệu chứa directory có tên c:\works\stats Chú ý rằng, R dùng forward slash “/” backward slash “\” hệ thống Windows font face="verdana" size="3">Chú ý R có khả đọc liệu trực tiếp từ mạng (từ website) Do đó, dùng lệnh setwd để báo cho R biết làm việc trực tiếp mạng lệnh sau đây: > setwd("http://www.r.ykhoanet.com/") font face="verdana" size="3">Để biết nay, R “làm việc” directory nào, cần lệnh: > getwd() [1] "C:/Program Files/R/R-2.2.1" font face="verdana" size="3">Cái prompt mặc định R “>” Nhưng muốn có prompt khác theo cá tính cá nhân, thay : > options(prompt=”R> ”) R> font face="verdana" size="3">Hay: > options(prompt="Tuan> ") Tuan> font face="verdana" size="3">Màn ảnh Rfont face="verdana" size="3"> mặc định 80 kí tự (characters), muốn ảnh rộng hơn, cần lệnh: > options(width=100) font face="verdana" size="3">Hay muốn Rfont face="verdana" size="3"> trình bày số liệu dạng số thập phân: > options(scipen=3) font face="verdana" size="3">Các lựa chọn thay đổi dùng lệnh options() Để biết thông số R gì, cần lệnh: > options() font face="verdana" size="3">Tìm hiểu ngày tháng: > Sys.Date() [1] "2006-03-31" font face="verdana" size="3">Nếu bạn đọc cần thêm thông tin, số tài liệu mạng (viết tiếng Anh) có ích Các tài liệu tải xuống máy miễn phí: font face="verdana" size="3">R for beginners (của Emmanuel Paradis): font face="verdana" size="3"> http://cran.r- project.org/doc/contrib/rdebuts_en.pdf font face="verdana" size="3">Using R for data analysis and graphics (của John Maindonald): font face="verdana" size="3"> http://cran.r-project.org/doc/contrib/usingR.pdf font face="verdana" size="3">Ngoài ra, tác giả có tài liệu tiếng Việt (dài 114 trang) tóm lược lệnh hay sử dụng R website: font face="verdana" size="3"> www.r.ykhoanet.comfont face="verdana" size="3"> ... đầu mẫu tự R số phiên (version) Chẳng hạn phiên mà tác giả sử dụng vào cuối năm 20 05 2. 2.1, nên tên tài liệu cần tải là: R- 2. 2.1-win 32. zip font face="verdana" size="3">Tài liệu khoảng 26 MB, địa... face="verdana" color="#0000ff" size="3"> http://cran .r- project.org/bin/windows/base /R- 2. 2.1-win 32. exe font face="verdana" size="3">Tại website này, tìm thấy nhiều tài liệu dẫn cách sử dụng Rfont... face="verdana" size="3" >R for beginners (của Emmanuel Paradis): font face="verdana" size="3"> http://cran .r- project.org/doc/contrib/rdebuts_en.pdf font face="verdana" size="3">Using R for data