You are on page 1of 18

Hng dn s dng

PHN MM R
(Cho hc phn Ton cao cp)













LI NI U
Gii thng phn mm m ngun m tt nht: Bossie Awards 2010
R l phn mm phn tch d liu c xy dng bi Ross Ihaka v Robert Gentleman ti The
University of Auckland, New Zealand, tip tc c pht trin bi nhm R Development Core
Team. R l mt phn mm hon ton min ph. Tuy min ph, nhng chc nng ca R khng
thua km cc phn mm thng mi. Tt c nhng phng php, m hnh m cc phn mm
thng mi c th lm c th R cng c th lm c. R c li th l kh nng phn tch biu
tuyt vi. Khng mt phn mm no c th snh vi R v phn biu !
Tuy nhin, R c ci bt li l dng lnh (ging nh Stata hay SAS) ch khng dng menu
nh SPSS. iu ny c ngha l i vi ngi li bing th s thy R bt tin. Nhng vi
ngi mun nm ly nhng c ch cn bn ca R, th s thch ngn ng ny ngay. i vi
nhng ngi gii vi tnh v ton, R l phn mm l tng.
Ti liu ngn ny chng ti vit da theo mc Help ca R nhm gip cc bn sinh vin lm quen
vi vic s dng mt phn mm ton hc gii cc bi ton ca hc phn Ton cao cp.

L VN TUN V VN SONG
NGUYN TH HOA - NGUYN TH HUYN
1


1
GV & SV Khoa H thng thng tin kinh t - i hc Thng mi
MC LC

Ch 0. Download v ci t
Ch 1. Tnh ton trn trng s thc
Ch 2. Ma trn v nh thc
Ch 3. Gii h phng trnh tuyn tnh
Ch 4. V th
Ch 5. o hm
Ch 6. Tch phn hm mt bin
Ch 7. Phng trnh vi phn
Ch 8. Phng trnh sai phn






Ch 0. Download v ci t
Bn truy cp vo trang ch: http://www.r-project.org/ (giao din nh hnh di), click vo download R
bn n trang CRAN Mirrors, click mt link no , bn s n trang The Comprehensive R Archive
Network, click vo Download R for Windows, click tip install R for the first time, click tip Download
R 2.15.0 for Windows s download c file.R-2.15.0-win.exe (2.15.0 l version ti thng 4/2012), ci
t nh cc phn mm khc.

Sau khi ci t, Shoutcut chy phn mm s xut hin trn Desktop, bn click chy phn
mm. Ca s lnh ca phn mm s nh hnh di, ti du nhc > bn c th g cu lnh v nhn Enter
() yu cu phn mm thc hin cu lnh.

Ghi ch:Bn c th vo mc Help trn menu s dng cc hng dn ca R.
Ch 1. Tnh ton trn trng s thc
Cc php ton trn trng s thc l: cng (+), tr (-), nhn (*), chia (/), ly tha (^)
Cc hm thng dng:

(pi biu din s n)
1. Tnh 7/3.5
> 7/3.5
[1] 2
2. Tnh a= (4^5-1/6) (c
3
+n)
> a=(4^5-1/6)*(exp(1/3)+pi);
[1] 4645.342
3. Tnh log
3
(4)
> log(4)/log(3) (Ta dng cng thc i c s, log l ln)
[1] 1.26186
4. Tnh arcsin(1/2)
> asin(1/2)
[1] 0.5235988
5. Cho f(x)= (sin(x) +x
2
)/(e
x
+1), tnh f(/6)
> (sin(pi/6)+(pi/6)^2)/(exp(pi/6)+1)
[1] 0.2879945

Ch 2. Ma trn v nh thc
1. Khai bo bin ma trn
VD: Khai bo ma trn c 1x3 (vec t dng):
> y<-c(1,2,4)
> A<-matrix(y, nrow=1)
VD: Khai bo ma trn c 3x3:
> y<- c(11,4,20,4,9,8,3,6,9)
> B<-matrix(y,nrow=3)
Hoc:
>B<-matrix(c(11,4,20,4,9,8,3,6,9),nrow=3)
Hoc:
B<-matrix(c(11,4,3,4,9,6,20,8,9),3,3)
2. Cc php ton trn cc phn t ca ma trn
Phn mm ang nh cc bin A v B c khai bo trn, ta khai bo thm bin C:
> y<-c(0,4,17,-2,5,8,3.5,8,-9.2)
> C<-matrix(y,nrow=3)
Ta c th thc hin cc php ton cng (+), tr (-), nhn (*), ly tha (^)
VD: >B+C hoc >D=B+C ( y ta to thm bin D = B+C )
VD: >B*C; >B^10; >5*B
3. Php nhn hai ma trn
VD: >B%*%C
4. Ma trn chuyn v
VD: >t(B)
5. Tm hng ca ma trn
VD: >qr(B)$rank
6. Tm ma trn nghch o
VD: > solve(B)
7. Tnh nh thc (ca ma trn vung)
VD: >det(B)
Ch 3. Gii h phng trnh tuyn tnh
VD1: Tm nghim ring ca h PTTT: _
x
1
+x
2
+x
3
= 6
x
1
x
2
= 1
x
1
+x
2
+2x
3
= 9

;
Ta thc hin nh sau: Trn mn hnh s xut hin kt qu l:
> A<-matrix(c(1,1,1,1,-1,1,1,0,2), nrow=3)
> y<-matrix(c(6,-1,9), nrow=3)
> lm.fit(A,y)$coefficients
x1 x2 x3
1 2 3
Ghi ch:Trong v d ny ta c nghim duy nht, x=(1, 2, 3)
VD2: Tm nghim ring ca h PTTT: _
x
1
+x
2
x
3
= u
Sx
1
x
3
= S


Ta thc hin nh sau: Trn mn hnh s xut hin kt qu l:
> A<-matrix(c(1,3,1,0,-1,-1), nrow=2)
> y<-matrix(c(0,3), nrow=2)
> lm.fit(A,y)$coefficients
x1 x2 x3
1 -1 NA
Ghi ch: Trong v d ny nghim ca h c 1 tham s, nghim ring l:
x
1
= 1 ; x
2
= -1 ; x
3
= 0
VD3: Tm nghim ring ca h PTTT
{x
1
+x
2
x
3
= S




Ta thc hin nh sau: Trn mn hnh s xut hin kt qu l:
> A<-matrix(c(1,1,-1), nrow=1)
> y<-matrix(c(3), nrow=1)
> lm.fit(A,y)$coefficients
x1 x2 x3
3 NA NA
Ghi ch: Trong v d ny nghim ca h c 2 tham s, nghim ring l:
x
1
= 3; x
2
= 0; x
3
= 0
Ch 4. V th
1. Hm 1 bin (2D)
VD: V th hm s: y = x
2
+ 1 trn on [-10; 10]
Thc hin nh sau:
> x<-seq(-10,10,length=200)
> y<-(x^2+1)
> plot(y,type='l')
Phn mm s xut ra th (trn 1 ca s khc R Graphic) nh hnh di (bn c th vo File -> Copy
to the clipboard (CTRL+C) v paste vo word)

Ghi ch: Bin x l 1 dy s, bin y cng l mt dy s, bn g th x; ri g y.
Tham kho Ch 1 khi cn v cc hm phc tp.
2. Hm 2 bin (3D)
VD: V th hm z=sin(x)*y vi x [0; 2], y [0; 5]
Thc hin nh sau:
> x<-seq(0,2*pi,length=200)
> y<-seq(0,5,length=200)
> f<-function(x,y){r<-sin(x)*y}
> z<-outer(x,y,f)
> persp(x,y,z, theta=30, phi=30, expand=0.5, col= "lightblue", ltheta=120, shade=0.75,
ticktype="detailed", xlab="Truc x", ylab="Truc y", zlab= "Truc z", main="Ve bang R")

Ch 5. o hm
1. Hm mt bin
VD 1: Tnh o hm cp 1 v cp 2 ca hm s f(x) = x
3
+ 1
Ta thc hin nh sau:
> D(expression(x^3+1), 'x')
3 * x^2
> D(D(expression(x^3+1), 'x'),'x')
3 * (2 * x)
VD 2: Tnh o hm ca hm s f(x) = x
3
+ 1 ti x = 2. Ta thc hin nh sau:
> y<-deriv(expression(x^3+1), 'x',function.arg = TRUE)
> y(2)
[1] 9
attr(,"gradient")
x
[1,] 12
Ghi ch: Tham kho Ch 1 khi cn tnh o hm ca cc hm phc tp.
2. Hm nhiu bin
VD: Tnh cc o hm ring cp 1 v cp 2 ca hm s z = x
2
+ y
2

> D(expression(x^2+y^2), 'x')
2 * x
> D(expression(x^2+y^2), 'y')
2 * y
> D(D(expression(x^2+y^2), 'x'),'x')
[1] 2
Ch 6. Tch phn hm mt bin
1. Tch phn thng thng
VD: Tnh ] xc
x
Jx
10
1

Ta thc hin nh sau:
> f<-function(x){x*exp(x)}
> integrate(f, lower=1, upper=10)
198238.2 with absolute error < 2.2e-09
Ghi ch:Kt qu l 198238.2 vi sai s nh hn 2.2*10
-9
Tham kho Ch 1 khi cn tnh tch phn ca cc hm phc tp.
2. Tch phn suy rng
VD: Xt tch hi t, phn k ca ]
1
x
2
Jx
+
1

Ta thc hin nh sau:
> f<-function(x){1/x^2}
> integrate(f, lower=1, upper=Inf)
1 with absolute error < 1.1e-14
Ghi ch:TPSR hi t, gi tr l 1 vi sai s tuyt i nh hn 1.1*10
-14
Inf l +, -Inf l -.
Ch 7. Phng trnh vi phn
gii PTVP, trc ht ta cn ci t package deSolve bng cch thc hin lnh trn R (my tnh phi
ang kt ni internet):
> install.packages(deSolve)
Phn mm s hin 1 bng CRAN mirror, bn chn 1 ci no ri OKE.
T nhng ln chy R sau ( gii PTVP) bn khng phi ci t na, nhng phi gi package deSolve
(khng cn kt ni internet) bng lnh:
> library(deSolve)
1. Phng trnh vi phn cp 1
Ghi ch: Xt phng trnh vi phn cp 1: dy/dx = f(x,y).
Gi s ta cn gii PTVP dy/dx = x
2
. Phng trnh ny c nghim tng qut l y = x
3
/3 + C. Vi iu kin
ban u y(0) = 1 ta c nghim ring y = x
3
/3 + 1. Ta s v th nghim ring ny.
(Phn mm R lu hm s di dng bng, nn ta khng c c cng thc tng minh nhng vn v
c th).
VD1: V th nghim ring ca phng trnh vi phn dy/dx = x
2
vi iu kin ban u y(0) = 5 trn
min [0, 100].
Ta thc hin nh sau:
> ham <- function (x, y,parms) {list(c(x^2))}
> dieukien <- c(y = 5)
> ketqua <- ode(y = dieukien, func = ham,times = 0:100, parms = 0)
> plot(ketqua, type = "l", which = "y",lwd = 2, xlab = "Truc x", ylab = "Truc y",main = "PTVP")

Ghi ch: times = 0:100 th hin min nghim l [0, 100], v trong PTVP bin x thng l bin thi gian
nn c quy c chun l times.
Phn mm s xut ra th (trn 1 ca s khc R Graphic) nh hnh trn (bn c th vo File -> Copy
to the clipboard (CTRL+C) v paste vo word)
VD2: V th nghim ring ca phng trnh vi phn

vi iu kin ban u y(4) = 2 trn min [4, 10].
Ta thc hin nh sau:
> ham <- function (x, y,parms) {list(c(-x/(1-x^2)*y+x*sqrt(y)))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham,times = 4:10, parms = 0)
> plot(nghiem, type = "l", which = "y",lwd = 2, xlab = "Truc x", ylab = "Truc y",main = "PTVP")
Ghi ch: Tham kho Ch 1 khi phi lm vic vi cc hm phc tp.
2. Phng trnh vi phn cp 2
VD1: V th nghim ring ca phng trnh vi phn: y (1 y
2
)y + y = 0, vi iu kin ban u
y(0) = 2, y(0) = 0 trn min [0, 100].
t y[1] = y, y[2] = y, ta a PTVP v h:
y[1] = y[2] + 0.y[1]
y[2] = (1 y[1]
2
)y[2] + y[1]
(iu kin ban u, y1 = 2, y2 = 0).
Ta thc hin nh sau:
> ham <- function (x, y,parms) {list(c(y[2], (1 - y[1]^2) * y[2] - y[1]))}
> dieukien <- c(y1 = 2, y2 = 0)
> nghiem <- ode(y = dieukien, func = ham,times = 0:100, parms = 1)
> plot(nghiem, type = "l", which = "y1",lwd = 2, ylab = "Truc y",main = "PTVP cp 2")

VD2: V th nghim ring ca phng trnh vi phn: y (1 y
2
)y + y = e
x
sinx, vi iu kin ban
u y(0) = 2, y(0) = 0 trn min [0, 100].
Ta thc hin nh sau:
> ham <- function (x, y,parms) {list(c(y[2], (1 - y[1]^2) * y[2] - y[1] + exp(1)^x*sin(x)))}
> dieukien <- c(y1 = 2, y2 = 0)
> nghiem <- ode(y = dieukien, func = ham,times = 0:100, parms = 1)
> plot(nghiem, type = "l", which = "y1",lwd = 2, ylab = "Truc y",main = "PTVP cp 2")

Ch 8. Phng trnh sai phn
gii PTSP, trc ht ta cn ci t package deSolve bng cch thc hin lnh trn R (my tnh phi
ang kt ni internet):
> install.packages(deSolve)
Phn mm s hin 1 bng CRAN mirror, bn chn 1 ci no ri OKE.
T nhng ln chy R sau ( gii PTSP) bn khng phi ci t na, nhng phi gi package deSolve
(khng cn kt ni internet) bng lnh:
> library(deSolve)
Nu phng trnh c cha giai tha (!) cn ci thm package pracma v gi package ny trc khi gii.
1. Phng trnh sai phn cp 1
Ghi ch: Xt phng trnh sai phn cp 1: y(n+1) = f(n,y(n)).
Gi s ta cn gii PTSP y(n+1) + 2y(n) = 0. Phng trnh ny c nghim tng qut l y(n) = C(-2)
n
. Vi
iu kin ban u y(2) = 3 ta c nghim ring y(n) = (-2)
n
. Ta s v th nghim ring ny.
(Phn mm R lu hm s di dng bng, nn ta khng c c cng thc tng minh nhng vn v
c th).
VD1: V th nghim ring ca phng trnh sai phn y(n+1) + 2y(n) = 0 vi iu kin ban u y(2) =
3 trn min [2, 20].
Ta thc hin nh sau:
> ham <- function (n, y,parms) {list(c(-2*y))}
> dieukien <- c(y=3)
> ketqua <- ode(y = dieukien, func = ham,times = 2:20, parms = 0, method = "iteration")
> plot(ketqua, type = "l", which = "y",lwd = 2, xlab = "Truc n", ylab = "Truc y",main = "PTSP")

hin th cc gi tr ca hm y, bn thc hin lnh:
> ketqua
Ghi ch: times = 2:20 th hin min nghim l [2, 20], v trong PTSP bin n thng l bin thi gian
nn c quy c chun l times.
Phn mm s xut ra th (trn 1 ca s khc R Graphic) nh hnh trn (bn c th vo File -> Copy
to the clipboard (CTRL+C) v paste vo word)
Gii PTSP ch khc PTVP : method = "iteration"
VD2: V th nghim ring ca phng trnh sai phn y(n+1) = (n+1)y(n) + (n+1)!n; vi iu kin ban
u y(4) = 2 trn min [4, 10].
Ta thc hin nh sau:
#Cn phi gi package pracma trc
> ham <- function (n, y,parms) {list(c((n+1)*y+(n+1)*fact(n)))}
> dieukien <- c(y = 2)
> nghiem <- ode(y = dieukien, func = ham, times = 4:10, parms = 0, method = "iteration")
> plot(nghiem, type = "l", which = "y",lwd = 2, xlab = "Truc n", ylab = "Truc y",main = "PTSP")
Ghi ch: Tham kho Ch 1 khi phi lm vic vi cc hm phc tp.
2. Phng trnh sai phn cp 2
VD1: V th nghim ring ca phng trnh sai phn y(n+2) - 5y(n+1) + 6y(n) = 0, vi iu kin ban
u y(0) = 2, y(1) = 5 trn min [0, 10].
ta a PTSP v h:
y(n+1) = y(n+1) + 0*y(n)
y(n+2) = 5*y(n+1) - 6*y(n)
t y[1] = y(n), y[2] = y(n+1), iu kin ban u, y1 = 2, y2 = 5.
Ta thc hin nh sau:
> ham <- function (n, y,parms) {list(c(y[2], 5*y[2]-6*y[1]))}
> dieukien <- c(y1 = 2, y2 = 5)
> nghiem <- ode(y = dieukien, func = ham,times = 0:10, parms = 0, method = "iteration")
> plot(nghiem, type = "l", which = "y1",lwd = 2, ylab = "Truc y",main = "PTVP cp 2")

VD2: V th nghim ring ca phng trnh vi phn: y(n+2) - 5y(n+1) + 6y(n) = n
2
+ 2n + 3, vi iu
kin ban u y(0) = 2, y(1) = 5 trn min [0, 10].
Ta thc hin nh sau:
> ham <- function (n, y,parms) {list(c(y[2], 5*y[2]-6*y[1]+n^2+2*n+3))}
> dieukien <- c(y1 = 2, y2 = 5)
> nghiem <- ode(y = dieukien, func = ham,times = 0:10, parms = 0, method = "iteration")
> plot(nghiem, type = "l", which = "y1",lwd = 2, ylab = "Truc y",main = "PTVP cp 2")




----------&&---------

You might also like