18 Phục lục 2 Một số lệnh thông dụng trong R

Lệnh về môi trường vận hành của R

getwd() setwd(c:/works) Cho biết directory hiện hành là gì Chuyển directory vận hành về c:\works (chú ý R dùng “/”)

options(prompt=”R>”) Đổi prompt thành R> options(width=100)

options(scipen=3)

Đổi chiều rộng cửa sổ R thành 100 characters Đổi số thành 3 số thập phân (thay vì kiểu 1.2E-04) Cho biết các thông số về môi trường của R options()

Lệnh cơ bản

Liệt kê các đối tượng (objects) trong bộ nhớ Xóa bỏ đối tượng Tìm hướng ls() rm(object) seach()

Kí hiệu tính toán

Cộng Trừ Nhân Chia Lũy thừa Chia số nguyên Số dư từ chia hai số nguyên + - * / ^ %/% %%

84

Kí hiệu logic

Bằng Không bằng Nhỏ hơn Lớn hơn Nhỏ hơn hoặc bằng Lớn hơn hoặc bằng Có phải x là biến số missing Và (AND) Hoặc (OR) Không là (NOT) == != < > <= >= is.na(x) & | !

Phát số

numeric(n) character(n) logical(n) seq(-4,3,0.5) 1:10 c(5,7,9,1) rep(1, 5) Gl(3,2,12) Cho ra n số 0 Cho ra n kí tự “” Cho ra n FALSE Dãy số -4.0, -3.5, -3.0, …, 3.0 Giống như lệnh seq(1, 10, 1) Nhập số 5, 7, 8 và 1 Cho ra 5 sô 1: 1, 1, 1, 1, 1. Yếu tố 3 bậc, lặp lại 2 lần, tổng cộng 12 số: 1 1 2 2 3 3 1 1 2 2 3 3

Tạo nên số ngẫu nhiên bằng mô phỏng theo các luật phân phối (simulation)

rnorm(n, mean=0, sd=1)

rexp(n, rate=1)

Phân phối chuẩn (normal distribution) với trung bình = 0 và độ lệch chuẩn = 1. Phân phối mũ (exponential distribution) rgamma(n,shape,scale=1) Phân phối gamma rpois(n, lambda) Phân phối Poisson rweibull(n,shape,scale=1) Phân phối Weibull rcauchy(n,location=0,scale=1) Phân phối Cauchy rbeta(n, shape1, shape2) rt(n, df) rchisq(n, df) rbinom(n, size, prob) rgeom(n, prob) Phân phối beta Phân phối t Phân phối Khi bình phương Phân phối nhị phân (binomial) Phân phối geometric

85

rhyper(nn, m, n, k) rlnorm(n,meanlog=0,sdlog=1) rlogis(n,location=0,scale=1) rnbinom(n,size,prob) runif(n,min=0,max=1)

hypergeometric Phân phối log normal Phân phối logistic Phân phối negative Binomial Phân phối uniform

Biến đổi số thành kí tự và ngược lại

as.numeric(x) Biến đổi x thành biến số số học để có thể tính toán as.character(x) Biến đổi x thành biến số chữ (character) để

phân loại Biến đổi x thành biến số logic Biến đổi x thành biến số yếu tố as.logical(x) factor(x)

Data frames

data.frame(x,y) Nhập x và y thành một data frame tuan$age attach(tuan) detach(tuan) Chọn biến số age từ dataframe tuan. Đưa dataframe tuan vào hệ thống R Xóa bỏ dataframe tuan khỏi hệ thống R

Hàm số toán

Logarít bậc e Logarít bậc 10 Số mũ Sin Cosin Tangent Arcsin (hàm sin đảo) Arccosin (hàm cosin đảo) Arctang(hàm tan đảo) log(x) log10(x) exp(x) sin(x) cos(x) tan(x) asin(x) acos(x) atan(x)

86

Hàm số thống kê

Số nhỏ nhất của biến số x Số lớn nhất của biến số x Tìm dòng nào có giá trị lớn nhất của biến số x Tìm dòng nào có giá trị nhỏ nhất của biến số x min(x) max(x) which.max(x) which.min(x)

length(x)

sum(x) range(x) mean(x) median(x) sd(x)

var(x) cov(x,y) cor(x,y)

quantile(x) cor(x,y)

is.na(x) Tổng số yếu tố (elements) trong một biến số (hay số mẫu) Số tổng của biến số x Khác biệt giữa max(x) và min(x) Số trung bình của biến số x Số trung vị (median) của biến số x Độ lệch chuẩn (standard deviation) của biến số x Phương sai (variance) của biến số x Hiệp biến (covariance) giữa hai biến số x và y Hệ số tương quan (coefficient of correlation) giữa biến số x và y. Chỉ số của biến số x Hệ số tương quan (correlation coefficient) giữa biến số x và y Kiểm tra xem x có phải là số trống không (missing value)

complete.cases(x1,x2,...)

Kiểm tra nếu tất cả x1, x2, … đều không có số trống.

Chỉ số ma trận

x[1] x[1:5] x[y<=30] x[sex==”male”] Số đầu tiên của biến số x Năm số đầu tiên của biến số x Chọn x sao cho y nhỏ hơn hoặc bằng 30 Chọn x sao cho sex bằng male

87

Nhập dữ liệu

data(name) read.table(“name”) read.csv(“name”)

Xây dựng một kho dữ liệu Đọc / nhập số liệu từ file name Đọc / nhập số liệu dạng excel (cách nhau bằng “,”) từ file name

read.delim(“name”) Đọc / nhập số liệu dạng tab delimited read.delim2(“name”) Đọc / nhập số liệu dạng tab

read.csv2(“name”) delimited, cách nhau bằng “;” và số thập phân là “,” Đọc / nhập số liệu dạng csv, cách nhau bằng “;” và số thập phân là “,”

Phần phụ trong read.table

Hàng đầu tiên của dữ liệu là tên của biến số Số liệu ngăn cách bằng dấu hiệu “,” Số thập phân là “,” (để phân biệt với “.”) Số liệu trống (missing value) là “.” header=TRUE sep=”,” dec=”,” na.strings=”.”

Phân phối thống kê

Phân phối beta Phân phối chuẩn pnorm(x,mean,sd) Phân phối chuẩn logarit plnorm(x,mean,sd) Phân phối t pt(x,df) Phân phối F pf(x,n1,n2) Phân phối Khi bình phương pchisq(x,df) Phân phối Poisson ppois(x,lambda) Phân phối uniform (đồng dạng) punif(x,min,max) Phân phối hàm mũ pexp(x,rate) pgamma(x,shape,scale) Phân phối gamma pbeta(x,a,b)

88

Phân tích thống kê

t.test pairwise.t.test cor.test

Kiểm định t Kiểm định t cho paired design Kiểm định hệ số tương quan method = “kendall” method = “spearman” Kiểm định phương sai Kiểm định nhiều phương sai var.test bartlett.test

Kiểm định Wilcoxon Kiểm định Kruskal Kiểm định Friedman wilcoxon.test kruskal.test friedman.test

lm(y ~ x)

lm(y ~ factor)

lm(y ~ factor+x)

lm(y ~ x1+x2+x3) Phân tích hồi qui tuyến tính (linear regression) Phân tích phương sai 1 chiều (1-way analysis of variance) Phân tích hiệp biến (analysis of covariance) Phân tích hồi qui tuyến tính đa biến số (multiple linear regression)

binom.test prop.test prop.trend.test

Kiểm định nhị phân (Binomial test) Kiểm định so sánh nhiều tỉ số Kiểm định so sánh nhiều tỉ số theo xu hướng Kiểm định Fisher Kiểm định Khi bình phương Phân tích hồi qui logistic fisher.test chisq.test glm(y~x1+x2+x+x3)

Phân tích survival Biểu đồ Kaplan-Meier Kiểm định Log-rank giữa hai nhóm g Phân tích hồi qui Cox s<-Surv(time,event) survfit(s) survdiff(s~g) coxph(s ~ x1+x2)

89

Đồ thị

Vẽ đồ thị y và x (scatter plot) Vẽ đồ thị y và x (scatter plot)

Vẽ đồ thị tròn Vẽ đồ thị theo dạng hình hộp Vẽ phân phối quantile của biến số x Vẽ phân phối quantile của biến số y theo x Vẽ biểu đồ hình khối cho biến số x Vẽ histogram cho biến số x Vẽ biểu đồ sao cho biến số x Vẽ đường thẳng với intercept=a và slope=b Vẽ đường thẳng ngang Vẽ đường thẳng đứng plot(y~x) hist(x) plot(y ~ x | z) Vẽ hai biểu đồ x và y theo từng nhóm của z pie(x) boxplot(x) qqnorm(x) qqplot(x, y) barplot(x) hist(x) stars(x) abline(a, b) abline(h=y) abline(v=x) abline(lm.object)Vẽ đồ thị theo mô hình tuyến tính

Một số thông số cho đồ thị

pch mfrow, mfcol

Kí hiệu để vẽ đồ thị (pch = plotting characters) Tạo ra nhiều cửa sổ để vẽ nhiều đồ thị cùng một lúc (multiframe) Cho giới hạn của trục hoành và trục tung Viết tên trục hoành và trục tung Dạng và kích thước của đường biểu diễn Kích thước và khoảng cách giữa các kí tự. Màu sắc xlim, ylim xlab, ylab lty, lwd cex, mex col

90