| ||
Vietsciences- Nguyễn Văn Tuấn 24/03/2009 |
2.4 Khởi động và ngưng chạy R font face="verdana" size="3">Sau khi hoàn tất việc cài đặt, một icon sẽ xuất hiện trên desktop của máy tính. Đến đây thì chúng ta đã sẵn sàng sử dụng R. font face="verdana" size="3">Có thể nhấp chuột vào icon này và chúng ta sẽ có một cửa sổ như sau:
![]()
R
font face="verdana" size="3">thường
được sử dụng dưới dạng "command line", có
nghĩa là chúng ta phải trực tiếp gõ lệnh vào cái
prompt màu đỏ trên. Các lệnh phải tuân
thủ nghiêm ngặt theo “văn phạm” và ngôn ngữ của
Rfont face="verdana" size="3">.
Có thể nói toàn bộ bài viết này là nhằm hướng
dẫn bạn đọc hiểu và viết theo ngôn ngữ của
Rfont face="verdana" size="3">.
Một trong những văn phạm này là
R
font face="verdana" size="3">phân biệt
giữa
Libraryfont face="verdana" size="3">
và
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 bằng chữ hoa hay chữ thường. Một văn
phạm khác nữa là khi 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 như
data.frame,t.test,read.table,font face="verdana" size="3">v font face="verdana" size="3">Nếu
lệnh gõ ra đúng “văn phạm” thì
R
font face="verdana" size="3">sẽ cho
chúng ta một cái prompt khác hay cho ra kết quả
nào đó (tùy theo lệnh); nếu lệnh không đúng văn
phạm thì R
font face="verdana" size="3">sẽ
cho ra một thông báo ngắn là không đúng hay
không hiểu. Ví dụ, nếu chúng ta gõ: > x <-
rnorm(20)
font face="verdana" size="3">thì
R
font face="verdana" size="3">sẽ hiểu và
làm theo lệnh đó, rồi cho chúng ta một prompt
khác: >
font face="verdana" size="3">Nhưng nếu
chúng ta gõ:
> R is great
font face="verdana" size="3">R sẽ không
“đồng ý” với lệnh này, vì ngôn ngữ này không có
trong thư viện của R, một thông báo sau đây sẽ
xuất hiện: Error: syntax error >
font face="verdana" size="3">Khi muốn
rời khỏi R, chúng ta có thể đơn giản nhấn nút
chéo (x) bên góc trái của cửa sổ, hay gõ lệnh
q().
2.5 “Văn phạm” ngôn ngữ R font face="verdana" size="3">“Văn
phạm” chung của R là một lệnh (command) hay
function (thỉnh thoảng đề cập đến là “hàm”). Mà
đã là hàm thì phải có thông số; cho nên theo sau
hàm là những thông số mà chúng ta phải cung cấp.
Chẳng hạn như: > reg <- lm(y ~ x) font face="verdana" size="3">thì regfont face="verdana" size="3"> là một object, còn lmfont face="verdana" size="3"> là một hàm, và y ~ xfont face="verdana" size="3"> là thông số của hàm. Hay: > setwd(“c:/works/stats”) font face="verdana" size="3">thì setwd là một hàm, còn “c:/works/stats” là thông số của hàm. font face="verdana" size="3">Để
biết một hàm cần có những thông số nào, chúng ta
dùng lệnh args(x), (args viết tắt chữ arguments)
mà trong đó x là một hàm chúng ta 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">
là một ngôn ngữ “đối tượng” (object oriented
language). Điều này có nghĩa là các dữ liệu
trong Rfont face="verdana" size="3">
được chứa trong object. Định hướng này cũng có
vài ảnh hưởng đến cách viết của
Rfont face="verdana" size="3">.
Chẳng hạn như thay vì viết
x = 5font face="verdana" size="3">
như thông thường chúng ta vẫn viết, thì
Rfont face="verdana" size="3">
yêu cầu viết là
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 <- 5font face="verdana" size="3">. Cách viết sau (dùng kí hiệu <-font face="verdana" size="3">) được khuyến khích hơn là cách viết trước (=). Chẳng hạn như:
> x <-
rnorm(10)
font face="verdana" size="3">có nghĩa
là mô phỏng 10 số liệu và chứa trong object
xfont face="verdana" size="3">.
Chúng ta cũng có thể viết
x =
rnorm(10).
font face="verdana" size="3">Một số kí
hiệu hay dùng trong
Rfont face="verdana" size="3">
là: x == 5 font face="verdana" size="3">x bằng 5 x != 5 font face="verdana" size="3">x không bằng 5 y < x font face="verdana" size="3">y nhỏ hơn x x > y font face="verdana" size="3">x lớn hơn y z <= 7 font face="verdana" size="3">z nhỏ hơn hoặc bằng 7 p >= 1 font face="verdana" size="3">p lớn hơn hoặc bằng 1 is.na(x) font face="verdana" size="3">Có phải x là biến số missing A & B font face="verdana" size="3">A và B (AND) A | B font face="verdana" size="3">A hoặc B (OR)
! font face="verdana" size="3">Không
là (NOT)
font face="verdana" size="3">Với
R,font face="verdana" size="3">
tất cả các câu chữ hay lệnh sau kí hiệu # đều
không có hiệu ứng, vì # là kí hiệu dành cho
người sử dụng thêm vào các ghi chú, ví dụ:
> # lệnh sau đây sẽ mô phỏng 10 giá trị normal
> x <-
rnorm(10)
2.6 Cách đặt tên trong R font face="verdana" size="3">Đặt
tên một đối tượng (object) hay một biến số
(variable) trong
Rfont face="verdana" size="3">
khá linh hoạt, vì
Rfont face="verdana" size="3">
không có nhiều giới hạn như các phần mềm khác.
Tên một object phải được viết liền nhau (tức
không được cách rồi bằng một khoảng trống).
Chẳng hạn như R chấp nhận
myobjectfont face="verdana" size="3">
nhưng không chấp nhận
my objectfont face="verdana" size="3">.
> myobject <- rnorm(10) > my object <- rnorm(10)
Error: syntax
error in "my object"
font face="verdana" size="3">Nhưng đôi
khi tên
myobjectfont face="verdana" size="3">
khó đọc, cho nên chúng ta nên tách rời bằng “.”
như
my.objectfont face="verdana" size="3">.
> my.object <-
rnorm(10)
font face="verdana" size="3">Một điều
quan trọng cần lưu ý là R phân biệt mẫu tự viết
hoa và viết thường. Cho nên My.object khác với
my.object. Ví dụ:
> My.object.u
<- 15
> my.object.L
<- 5 > My.object.u + my.object.L
[1] 20
font face="verdana" size="3">Một vài
điều cần lưu ý khi đặt tên trong
Rfont face="verdana" size="3">
là:
2.7 Hỗ trợ trong R font face="verdana" size="3">Ngoài
lệnh
args()font face="verdana" size="3">
Rfont face="verdana" size="3">
còn cung cấp lệnh
help()font face="verdana" size="3">
để người sử dụng có thể hiểu “văn phạm” của từng
hàm. Chẳng hạn như muốn biết hàm
lmfont face="verdana" size="3">
có những thông số (arguments) nào, chúng ta chỉ
đơn giản lệnh:
> help(lm)
font face="verdana" size="3">hay
> ?lm
font face="verdana" size="3">Một cửa sổ
sẽ hiện ra bên phải của màn hình chỉ rõ cách sử
dụng ra sao và thậm chí có cả ví dụ. Bạn đọc có
thể đơn giản copy và dán ví dụ vào R để xem cách
vận hành. font face="verdana" size="3">Trước
khi sử dụng R, ngoài sách này nếu cần bạn đọc có
thể đọc qua phần chỉ dẫn có sẵn trong R bằng
cách chọn mục help và sau đó chọn Html help như
hình dưới đây để biết thêm chi tiết. Bạn đọc
cũng có thể copy và dán các lệnh trong mục này
vào R để xem cho biết cách vận hành của R.
font face="verdana" size="3">Thay vì
chọn mục trên, bạn đọc cũng có thể đơn giản
lệnh:
> help.start() font face="verdana" size="3">và một cửa sổ sẽ xuất hiện chỉ dẫn toàn bộ hệ thống R. font face="verdana" size="3">Hàm apropos cũng rất có ích vì nó cung cấp cho chúng ta tất cả các hàm trong R bắt đầu bằng kí tự mà chúng ta muốn tìm. Chẳng hạn như chúng ta muốn biết hàm nào trong R có kí tự “lm” thì chỉ đơn giản lệnh: > apropos(lm)
font face="verdana" size="3">Và R sẽ
báo cáo các hàm với kí tự lm như sau có sẵn
trong R: [1] ".__C__anova.glm" ".__C__anova.glm.null" ".__C__glm" [4] ".__C__glm.null" ".__C__lm" ".__C__mlm" [7] "anova.glm" "anova.glmlist" "anova.lm" [10] "anova.lmlist" "anova.mlm" "anovalist.lm" [13] "contr.helmert" "glm" "glm.control" [16] "glm.fit" "glm.fit.null" "hatvalues.lm" [19] "KalmanForecast" "KalmanLike" "KalmanRun" [22] "KalmanSmooth" "lm" "lm.fit" [25] "lm.fit.null" "lm.influence" "lm.wfit" [28] "lm.wfit.null" "model.frame.glm" "model.frame.lm" [31] "model.matrix.lm" "nlm" "nlminb" [34] "plot.lm" "plot.mlm" "predict.glm" [37] "predict.lm" "predict.mlm" "print.glm" [40] "print.lm" "residuals.glm" "residuals.lm" [43] "rstandard.glm" "rstandard.lm" "rstudent.glm" [46] "rstudent.lm" "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 được chứa trong một khu vực
(directory) của máy tính. Trước khi sử dụng R,
có lẽ cách hay nhất là tạo ra một directory để
chứa dữ liệu, chẳng hạn như c:\works\stats. Để R
biết dữ liệu nằm ở đâu, chúng ta sử dụng lệnh
setwd (set working directory) như sau: > setwd(“c:/works/stats”) font face="verdana" size="3">Lệnh
trên báo cho R biết là dữ liệu sẽ chứa trong
directory có tên là c:\works\stats. Chú ý rằng,
R dùng forward slash “/” chứ không phải backward
slash “\” như trong hệ thống Windows. font face="verdana" size="3">Chú
ý rằng R có khả năng đọc dữ liệu trực tiếp từ
mạng (từ các website). Do đó, chúng ta cũng có
thể dùng lệnh setwd để báo cho R biết rằng chúng
ta làm việc trực tiếp trên mạng như trong lệnh
sau đây:
> setwd("http://www.r.ykhoanet.
font face="verdana" size="3">Để biết
hiện nay, R đang “làm việc” ở directory nào,
chúng ta chỉ 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 của R là “>”. Nhưng nếu chúng ta muốn
có một prompt khác theo cá tính cá nhân, chúng
ta có thể thay thế : > 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 là 80 kí tự (characters), nhưng nếu
chúng ta muốn màn ảnh rộng hơn, thì chỉ cần ra
lệnh:
>
options(width=100)
font face="verdana" size="3">Hay muốn
Rfont face="verdana" size="3">
trình bày các số liệu ở dạng 3 số thập phân:
>
options(scipen=3)
font face="verdana" size="3">Các lựa
chọn và thay đổi này có thể dùng lệnh
options(). Để biết các thông số hiện tại của R
là gì, chúng ta chỉ 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, một số tài liệu trên
mạng (viết bằng tiếng Anh) cũng rất có ích. Các
tài liệu này có thể 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/ 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/
font face="verdana" size="3">Ngoài ra,
tác giả cũng có một tài liệu bằng tiếng Việt
(dài 114 trang) tóm lược các lệnh hay sử dụng
trong R tại website:
font face="verdana" size="3">
www.r.ykhoanet.comfont face="verdana" size="3">.
Trích từ quyển
Phân Tích Số Liệu và Tạo Biểu
Đồ bằng
Nhà xuất bản
Đại Học Quốc gia
© http://vietsciences.org và http://vietsciences.free.fr Nguyễn Văn Tuấn |
|||||||||||||||||||||||||||||||