Mot trong nhung loi the cua R la co the su dung nhu 1 may tinh cam tay. Hon the nua, R co the su dung cho cac phep tinh ma tran va lap chuong.

  1. TINH TOAN DON GIAN
#1. Cong hai so hay nhieu so voi nhau
15+2997
## [1] 3012
#2. Cong va tru:
15+2997-9768
## [1] -6756
#3. Nhan va chia:
-27*12/21
## [1] -15.42857
#4. So luy thua: 
(25-5)^3
## [1] 8000
#5. Can so bac 2: 
sqrt(10)
## [1] 3.162278
#6. So pi
pi
## [1] 3.141593
2+3*pi
## [1] 11.42478
#7. Logarit_log-e
log(10)
## [1] 2.302585
#8. Logarit_log10
log10(100)
## [1] 2
log10(2+3*pi)
## [1] 1.057848
#9. So mu: e^2.7689
exp(2.7689)
## [1] 15.94109
#10. Ham so luong giac
cos(pi)
## [1] -1
#11. Vector
x=c(2,3,1,5,4,6,7,6,8)
x
## [1] 2 3 1 5 4 6 7 6 8
sum(x)
## [1] 42
x*2
## [1]  4  6  2 10  8 12 14 12 16
#tiep tuc
exp(x/10)
## [1] 1.221403 1.349859 1.105171 1.648721 1.491825 1.822119 2.013753 1.822119
## [9] 2.225541
exp(cos(x/10))
## [1] 2.664634 2.599545 2.704736 2.405079 2.511954 2.282647 2.148655 2.282647
## [9] 2.007132
#12. Tinh tong binh phuong (sum of squares): 1^2+2^2+3^2+4^2+5^2 =?
x=c(1,2,3,4,5)
sum(x^2)
## [1] 55
#13. Tinh tong binh phuong co dieu chinh (adjusted sum of squares)
x=c(1,2,3,4,5)
sum((x-mean(x))^2)
## [1] 10
#mean(x) la so trung binh cua vector x
#14. Tinh sai so binh phuong (mean square)
x=c(1,2,3,4,5)
sum((x-mean(x))^2)/length(x)
## [1] 2
# length(x) co nghia la tong so phan tu (elements) trong vector x
#15. Tinh phuong sai (variance) va do lech chuan (standard deviation)
x=c(1,2,3,4,5)
var(x)
## [1] 2.5
#do lech chuan
sd(x)
## [1] 1.581139
  1. SO LIEU VE NGAY THANG Co 1 quy luat chuan de viet so lieu ngay thang la tieu chuan ISO 8601-Day cung le cach viet ngay thang chuan cua R:
date1=as.Date("01/02/06", format="%d/%m/%y")
date2 = as.Date("06/03/01", format="%y/%m/%d")
# Chung ta nhap 2 so lieu khac nhau ve thu tu ngay than nam, nhung chung ta cung cho biet cu the cach doc bang format. do vay chung ta co the tinh so ngay giua 2 thoi diem:
date1
## [1] "2006-02-01"
date2
## [1] "2006-03-01"
days=date2-date1
days
## Time difference of 28 days

Chung ta co the tao mot day so lieu ngay thang nhu sau

seq(as.Date("2005-01-01"), as.Date("2005-12-31"), by="month")
##  [1] "2005-01-01" "2005-02-01" "2005-03-01" "2005-04-01" "2005-05-01"
##  [6] "2005-06-01" "2005-07-01" "2005-08-01" "2005-09-01" "2005-10-01"
## [11] "2005-11-01" "2005-12-01"
seq(as.Date("2005-01-01"), as.Date("2005-12-31"), by="2 weeks")
##  [1] "2005-01-01" "2005-01-15" "2005-01-29" "2005-02-12" "2005-02-26"
##  [6] "2005-03-12" "2005-03-26" "2005-04-09" "2005-04-23" "2005-05-07"
## [11] "2005-05-21" "2005-06-04" "2005-06-18" "2005-07-02" "2005-07-16"
## [16] "2005-07-30" "2005-08-13" "2005-08-27" "2005-09-10" "2005-09-24"
## [21] "2005-10-08" "2005-10-22" "2005-11-05" "2005-11-19" "2005-12-03"
## [26] "2005-12-17" "2005-12-31"
  1. TAO DAY SO BANG HAM seq, rep va gl # seq (sequence) # rep (repetition) # gl (generating levels)

Ap dung seq

  1. Tao ra 1 vector so tu 1 den 12:
x=(1:12)
x
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12
seq(12)
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12

Tao ra mot vector so tu 12 den 5

x=(12:5)
x
## [1] 12 11 10  9  8  7  6  5
seq(12,5)
## [1] 12 11 10  9  8  7  6  5

Cong thuc chung cua ham seq la seq(from, to, by=) hoac seq(from,to, length.out=). VD

#Tao ra 1 vector so tu 4 den 6 voi khoang cach bang 0.25
seq(4,6,0.25)
## [1] 4.00 4.25 4.50 4.75 5.00 5.25 5.50 5.75 6.00
# Tao ra 1 vector 10 so, voi so nho nhat la 2 va lon nhat la 15
seq(length=10, from=2, to =15)
##  [1]  2.000000  3.444444  4.888889  6.333333  7.777778  9.222222 10.666667
##  [8] 12.111111 13.555556 15.000000
seq(from=2, to=15, length.out =10)
##  [1]  2.000000  3.444444  4.888889  6.333333  7.777778  9.222222 10.666667
##  [8] 12.111111 13.555556 15.000000

Ap dung rep

cong thuc cua ham rep la rep(x, times,…) trong do, x la mot bien so va times la so lan lap lai. VD

#tao ra so 10, 3 lan
rep(10,3)
## [1] 10 10 10
#tao ra so tu 1 den 4, 3 lan
rep(c(1:4), 3)
##  [1] 1 2 3 4 1 2 3 4 1 2 3 4
#tao ra so 1.2, 2.7, 4.8, 5 lan
rep(c(1.2, 2.7, 4.8), 5)
##  [1] 1.2 2.7 4.8 1.2 2.7 4.8 1.2 2.7 4.8 1.2 2.7 4.8 1.2 2.7 4.8

#Ap dung gl gl duoc ap dung de tao ra mot bien thu bac (categorical variable), tuc bien khong de tinh toan, ma la dem. Cong thuc chung cua ham gl la gl(n, k, length=n*k, lables=1:n, ordered=FALSE) VD

#Tao ra bien gom bac 1 va 2, moi bac duoc lap lai 8 lan
gl(2,8)
##  [1] 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2
## Levels: 1 2
#hay mot bien gom bac 1,2 va 3, moi bac duoc lap lai 5 lan
gl(3, 5)
##  [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
## Levels: 1 2 3
# Tao ra bien gom bac 1 va 2, moi bac duoc lap lai 10 lan (do do length =20)
gl(2,10, length=20)
##  [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
## Levels: 1 2
gl(2,10)
##  [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
## Levels: 1 2
gl(2,2, length=20)
##  [1] 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2
## Levels: 1 2
# Cho them ki hieu
gl(2,5, label=c("C", "T"))
##  [1] C C C C C T T T T T
## Levels: C T
# Tao mot bien gom 4 bac 1,2,3 va 4. Moi bac lap lai 2 lan
rep(1:4, c(2,2,2,2))
## [1] 1 1 2 2 3 3 4 4
#cung tuong duong voi
rep(1:4, each=2)
## [1] 1 1 2 2 3 3 4 4
# so lan lap khac nhau
rep(1:4, c(2,3,1,2))
## [1] 1 1 2 2 2 3 4 4
# Voi ngay gio thang
x=.leap.seconds[1:3]
rep(x,2)
## [1] "1972-07-01 08:00:00 +08" "1973-01-01 08:00:00 +08"
## [3] "1974-01-01 08:00:00 +08" "1972-07-01 08:00:00 +08"
## [5] "1973-01-01 08:00:00 +08" "1974-01-01 08:00:00 +08"
rep(as.POSIXlt(x), rep(2,3))
## [1] "1972-07-01 08:00:00 +08" "1972-07-01 08:00:00 +08"
## [3] "1973-01-01 08:00:00 +08" "1973-01-01 08:00:00 +08"
## [5] "1974-01-01 08:00:00 +08" "1974-01-01 08:00:00 +08"