“Giải thưởng phần mềm mã nguồn mở tốt nhất: Bossie Awards 2010″ R là phần mềm phân tích dữ liệu được xây dựng bởi Ross Ihaka và Robert Gentleman tại The University of Auckland, New Zealand, tiếp tục được phát triển bởi nhóm R Development Core Team. R là một phần mềm hoàn toàn miễn phí. Tuy miễn phí, nhưng chức năng của R không thua kém các phần mềm thương mại. Tất cả nhưng phương pháp, mô hình mà các phần mềm thương mại có thể làm được thì R cũng có thể làm được….
Đang xem: Hướng dẫn sử dụng r

Hướng dẫn sử dụngPHẦN MỀM R (Cho học phần Toán cao cấp) LỜI NÓI ĐẦU “Giải thưởng phần mềm mã nguồn mở tốt nhất: Bossie Awards 2010″R là phần mềm phân tích dữ liệu được xây dựng bởi Ross Ihaka và Robert Gentleman tại TheUniversity of Auckland, New Zealand, tiếp tục được phát triển bởi nhóm R Development CoreTeam. R là một phần mềm hoàn toàn miễn phí. Tuy miễn phí, nhưng chức năng của R khôngthua kém các phần mềm thương mại. Tất cả nhưng phương pháp, mô hình mà các phần mềmthương mại có thể làm được thì R cũng có thể làm được. R có lợi thế là khả năng phân tích biểuđồ tuyệt vời. Không một phần mềm nào có thể sánh với R về phần biểu đồ!Tuy nhiên, R có cái bất lợi là dùng lệnh (giống như Stata hay SAS) chứ không dùng “menu”như SPSS. Điều này có nghĩa là đối với người “lười biếng” thì sẽ thấy R bất tiện. Nhưng vớingười muốn nắm lấy những cơ chế căn bản của R, thì sẽ thích ngôn ngữ này ngay. Đối vớinhững người giỏi vi tính và toán, R là phần mềm lí tưởng.Tài liệu ngắn này chúng tôi viết dựa theo mục Help của R nhằm giúp các bạn sinh viên làm quenvới việc sử dụng một phần mềm toán học để giải các bài toán của học phần Toán cao cấp. LÊ VĂN TUẤN – VŨ VĂN SONG NGUYỄN THỊ HOA – NGUYỄN THỊ HUYỀN11 GV & SV Khoa Tin học Thương mại – Đại học Thương mại MỤC LỤCChủ đề 0. Download và cài đặtChủ đề 1. Tính toán trên trường số thựcChủ đề 2. Ma trận và định thứcChủ đề 3. Giải hệ phương trình tuyến tínhChủ đề 4. Vẽ đồ thịChủ đề 5. Đạo hàmChủ đề 6. Tích phân hàm một biếnChủ đề 7. Phương trình vi phânChủ đề 8. Phương trình sai phân Chủ đề 0. Download và cài đặtBạn truy cập vào trang chủ: http://www.r-project.org/ (giao diện như hình ở dưới), click vào download Rbạn đến trang CRAN Mirrors, click một link nào đó, bạn sẽ đến trang The Comprehensive R ArchiveNetwork, click vào Download R for Windows, click tiếp install R for the first time, click tiếp DownloadR 2.15.0 for Windows sẽ download được file.R-2.15.0-win.exe (tháng 4/2012), cài đặt như các phầnmềm khác.Sau khi cài đặt, Shoutcut để chạy phần mềm sẽ xuất hiện trên Desktop, bạn click để chạy phầnmềm. Cửa sổ lệnh của phần mềm sẽ như hình dưới, tại dấu nhắc “>” bạn có thể gõ câu lệnh và nhấn Enter(↵) để yêu cầu phần mềm thực hiện câu lệnh.Ghi chú:Bạn có thể vào mục Help trên menu để sử dụng các hướng dẫn của R. Chủ đề 1. Tính toán trên trường số thựcCác phép toán trên trường số thực là: cộng (+), trừ (-), nhân (*), chia (/), lũy thừa (^)Các hàm thông dụng:(pi biểu diễn số )1. Tính 7/3.5> 7/3.5<1> 22. Tính a= (4^5-1/6) ( √ + )> a=(4^5-1/6)*(exp(1/3)+pi);<1> 4645.3423. Tính log3 (4)> log(4)/log(3) (Ta dùng công thức đổi cơ số)<1> 1.261864.
Xem thêm: hướng dẫn sử dụng filmora
Xem thêm: 2 Bài Dàn Ý Bức Tranh Phố Huyện Lúc Chiều Tàn Trong Hai Đứa Trẻ Hay Nhất
Tính arcsin(1/2)> asin(1/2)<1> 0.52359885. Cho f(x)= (sin(x) +x2)/(ex+1), tính f(π/6)> (sin(pi/6)+(pi/6)^2)/(exp(pi/6)+1)<1> 0.2879945 Chủ đề 2. Ma trận và định thức1. Khai báo biến ma trậnVD: Khai báo ma trận cỡ 1×3 (vec tơ dòng):> y A y BBD=B+C ↵ (ở đây ta đã tạo thêm biến D = B+C )VD: >B*C; >B^10; >5*B3. Phép nhân hai ma trậnVD: >B%*%C4. Ma trận chuyển vịVD: >t(B)5. Tìm hạng của ma trậnVD: >qr(B)$rank6. Tìm ma trận nghịch đảoVD: > solve(B)7. Tính định thức (của ma trận vuông)VD: >det(B) Chủ đề 3. Giải hệ phương trình tuyến tính + + =6 − = −1; VD1: Tìm nghiệm riêng của hệ PTTT: + +2 = 9 Ta thực hiện như sau: Trên màn hình sẽ xuất hiện kết quả là: > A y lm.fit(A,y)$coefficientsGhi chú:Trong ví dụ này ta được nghiệm duy nhất, x=(1, 2, 3) +− =0 3 − =3VD2: Tìm nghiệm riêng của hệ PTTT: Ta thực hiện như sau: Trên màn hình sẽ xuất hiện kết quả là: > A y lm.fit(A,y)$coefficientsGhi chú: Trong ví dụ này nghiệm của hệ có 1 tham số, nghiệm riêng là:x1 = 1 ; x2 = -1 ; x3 = 0VD3: Tìm nghiệm riêng của hệ PTTT + − =3 Ta thực hiện như sau: Trên màn hình sẽ xuất hiện kết quả là: > A y lm.fit(A,y)$coefficientsGhi chú: Trong ví dụ này nghiệm của hệ có 2 tham số, nghiệm riêng là: x1 = 3; x2 = 0; x3 = 0 Chủ đề 4. Vẽ đồ thị1. Hàm 1 biến (2D)VD: Vẽ đồ thị hàm số: y = x2 + 1 trên đoạn <-10; 10>Thực hiện như sau:> x y plot(y,type=”l”)Phần mềm sẽ xuất ra đồ thị (trên 1 cửa sổ khác – R Graphic) như hình dưới (bạn có thể vào File -> Copyto the clipboard (CTRL+C) và paste vào word)Ghi chú: Biến x là 1 dãy số, biến y cũng là một dãy số, bạn gõ thử x; rồi gõ y.Tham khảo Chủ đề 1 khi cần vẽ các hàm phức tạp.2. Hàm 2 biến (3D)VD: Vẽ đồ thị hàm z=sin(x)*y với x ∈ <0; 2π>, y ∈ <0; 5>Thực hiện như sau:> x> y f Chủ đề 5. Đạo hàm1. Hàm một biếnVD 1: Tính đạo hàm cấp 1 và cấp 2 của hàm số f(x) = x3 + 1Ta thực hiện như sau:> D(expression(x^3+1), “x”)3 * x^2> D(D(expression(x^3+1), “x”),”x”)3 * (2 * x)VD 2: Tính đạo hàm của hàm số f(x) = x3 + 1 tại x = 2.Ta thực hiện như sau:> D(expression(x^3+1), “x”)3 * x^2> x 3 * x^2<1> 12Ghi chú: Tham khảo Chủ đề 1 khi cần tính đạo hàm của các hàm phức tạp.2. Hàm nhiều biếnVD: Tính các đạo hàm riêng cấp 1 và cấp 2 của hàm số z = x2 + y2> 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. Tích phân hàm một biến1. Tích phân thông thườngVD: TínhTa thực hiện như sau:> f integrate(f, lower=1, upper=10)198238.2 with absolute error f integrate(f, lower=1, upper=Inf)1 with absolute error Chủ đề 7. Phương trình vi phânĐể giải PTVP, trước hết ta cần cài đặt package deSolve bằng cách thực hiện lệnh trên R (máy tính phảiđang kết nối internet):> install.packages(“deSolve”)Phần mềm sẽ hiện 1 bảng CRAN mirror, bạn chọn 1 cái nào đó rồi OKE.Từ những lần chạy R sau (để giải PTVP) bạn không phải cài đặt nữa, nhưng phải gọi package deSolve(không cần kết nối internet) bằng lệnh:> library(deSolve)1. Phương trình vi phân cấp 1Ghi chú: Xét phương trình vi phân cấp 1: dy/dx = f(x,y).Giả sử ta cần giải PTVP dy/dx = x2. Phương trình này có nghiệm tổng quát là y = x3/3 + C. Với điều kiênban đầu y(0) = 1 ta được nghiệm riêng y = x3/3 + 1. Ta sẽ vẽ đồ thị nghiệm riêng này.(Phần mềm R lưu hàm số dưới dạng bảng, nên ta không có được công thức tường minh nhưng vẫn vẽđược đồ thị).VD1: Vẽ đồ thị nghiệm riêng của phương trình vi phân dy/dx = x2 với điều kiện ban đầu y(0) = 5 trênmiền <0, 100>.Ta thực hiện như sau:> ham dieukien ketqua plot(ketqua, type = “l”, which = “y”,lwd = 2, xlab = “Truc x”, ylab = “Truc y”,main = “PTVP”)Ghi chú: times = 0:100 thể hiện miền nghiệm là <0, 100>, vì trong PTVP biến x thường là biến thời giannên có quy ước chuẩn là times.Phần mềm sẽ xuất ra đồ thị (trên 1 cửa sổ khác – R Graphic) như hình trên (bạn có thể vào File -> Copyto the clipboard (CTRL+C) và paste vào word)VD2: Vẽ đồ thị nghiệm riêng của phương trình vi phânvới điều kiện ban đầu y(4) = 2 trên miền <4, 10>.Ta thực hiện như sau:> ham dieukien nghiem plot(nghiem, type = “l”, which = “y”,lwd = 2, xlab = “Truc x”, ylab = “Truc y”,main = “PTVP”)Ghi chú: Tham khảo Chủ đề 1 khi phải làm việc với các hàm phức tạp.2. Phương trình vi phân cấp 2VD1: Vẽ đồ thị nghiệm riêng của phương trình vi phân: y” – (1 – y2)y’ + y = 0, với điều kiện ban đầuy(0) = 2, y’(0) = 0 trên miền <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>(điều kiện ban đầu, y1 = 2, y2 = 0).Ta thực hiện như sau:> ham dieukien nghiem plot(nghiem, type = “l”, which = “y1”,lwd = 2, ylab = “Truc y”,main = “PTVP cấp 2”)VD2: Vẽ đồ thị nghiệm riêng của phương trình vi phân: y” – (1 – y2)y’ + y = exsinx, với điều kiện banđầu y(0) = 2, y’(0) = 0 trên miền <0, 100>.Ta thực hiện như sau:> ham dieukien nghiem plot(nghiem, type = “l”, which = “y1”,lwd = 2, ylab = “Truc y”,main = “PTVP cấp 2”) Chủ đề 8. Phương trình sai phânĐể giải PTSP, trước hết ta cần cài đặt package deSolve bằng cách thực hiện lệnh trên R (máy tính phảiđang kết nối internet):> install.packages(“deSolve”)Phần mềm sẽ hiện 1 bảng CRAN mirror, bạn chọn 1 cái nào đó rồi OKE.Từ những lần chạy R sau (để giải PTSP) bạn không phải cài đặt nữa, nhưng phải gọi package deSolve(không cần kết nối internet) bằng lệnh:> library(deSolve)Nếu phương trình có chứa giai thừa (!) cần cài thêm package pracma và gọi package này trước khi giải.1. Phương trình sai phân cấp 1Ghi chú: Xét phương trình sai phân cấp 1: y(n+1) = f(n,y(n)).Giả sử ta cần giải PTSP y(n+1) + 2y(n) = 0. Phương trình này có nghiệm tổng quát là y(n) = C(-2)n. Vớiđiều kiên ban đầu y(2) = 3 ta được nghiệm riêng y(n) = ¾(-2)n. Ta sẽ vẽ đồ thị nghiệm riêng này.(Phần mềm R lưu hàm số dưới dạng bảng, nên ta không có được công thức tường minh nhưng vẫn vẽđược đồ thị).VD1: Vẽ đồ thị nghiệm riêng của phương trình sai phân y(n+1) + 2y(n) = 0 với điều kiện ban đầu y(2) =3 trên miền <2, 20>.Ta thực hiện như sau:> ham dieukien ketqua plot(ketqua, type = “l”, which = “y”,lwd = 2, xlab = “Truc n”, ylab = “Truc y”,main = “PTSP”)Để hiển thị các giá trị của hàm y, bạn thực hiện lệnh:> ketquaGhi chú: times = 2:20 thể hiện miền nghiệm là <2, 20>, vì trong PTSP biến n thường là biến thời giannên có quy ước chuẩn là times.Phần mềm sẽ xuất ra đồ thị (trên 1 cửa sổ khác – R Graphic) như hình trên (bạn có thể vào File -> Copyto the clipboard (CTRL+C) và paste vào word)Giải PTSP chỉ khác PTVP ở: method = “iteration”VD2: Vẽ đồ thị nghiệm riêng của phương trình sai phân y(n+1) = (n+1)y(n) + (n+1)!n; với điều kiện banđầu y(4) = 2 trên miền <4, 10>.Ta thực hiện như sau:#Cần phải gọi package pracma trước> ham dieukien nghiem plot(nghiem, type = “l”, which = “y”,lwd = 2, xlab = “Truc n”, ylab = “Truc y”,main = “PTSP”)Ghi chú: Tham khảo Chủ đề 1 khi phải làm việc với các hàm phức tạp.2. Phương trình sai phân cấp 2VD1: Vẽ đồ thị nghiệm riêng của phương trình sai phân y(n+2) – 5y(n+1) + 6y(n) = 0, với điều kiện banđầu y(0) = 2, y(1) = 5 trên miền <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), điều kiện ban đầu, y1 = 2, y2 = 5.Ta thực hiện như sau:> ham dieukien > nghiem plot(nghiem, type = “l”, which = “y1”,lwd = 2, ylab = “Truc y”,main = “PTVP cấp 2”)VD2: Vẽ đồ thị nghiệm riêng của phương trình vi phân: y(n+2) – 5y(n+1) + 6y(n) = n2 + 2n + 3, với điềukiện ban đầu y(0) = 2, y(1) = 5 trên miền <0, 10>.Ta thực hiện như sau:> ham dieukien nghiem plot(nghiem, type = “l”, which = “y1”,lwd = 2, ylab = “Truc y”,main = “PTVP cấp 2”) ———-&&———