logo xDuLieu.com

Trang trướcLàm quen với R và RStudioTrang sau

Ta bắt đầu làm quen với R bằng cách tìm hiểu các nội dung trong màn hình RStudio. Tiếp theo, ta dùng khung Tương tác để thực hiện một số lệnh đơn giản và quan sát các chuyển biến trong màn hình RStudio. Sau đó ta cũng thực hiện các thao tác tương tự trong khung Nguồn. Cuối cũng ta vẽ một biểu đồ đơn giản thể hiện mối tương quan của hai dãy số.

Màn hình RStudio

 

Khi cho chạy RStudio, ta thấy xuất hiện cửa số sau (Hình 1):

Hình 1 Cửa sổ RStudio

Trên cửa số này ngoài thanh tiêu đề, thanh trình đơn và thanh công cụ đặt ở phía trên giống như phần lớn các phần mềm khác hoạt động trong môi trường Windows, ta còn có 4 khung đảm nhiệm các chức năng sau (Hình 1):

  • Bên trái phía trên là khung “Nguồn” (Source). Khung này có một số thẻ (tab) để soạn các câu lệnh, một số thẻ để hiển thị dữ liệu.
  • Bên trái phía dưới là khung “Tương tác” (Console), thể hiện các câu lệnh và kết quả thực hiện câu lệnh ở dạng ký tự (nếu có). Khung này giống như cửa sổ của chương trình R khi ta không sử dụng RStudio
  • Bên phải phía trên là khung "Đối tượng" chứa ba thẻ, thẻ (Environment) dùng để thể hiện thông tin về các đối tượng sử dụng trong khi thực hiện các câu lệnh, thẻ (History) dùng để thể hiện tất cả các câu lệnh đã soạn kể từ một thời điểm nào đấy, thẻ (Connection) thể hiện các kết nối.
  • Bên phải phía dưới là khung "Đa chức năng" chứa 5 thẻ dùng để thể hiện các thư mục và tập tin có liên quan (thẻ Files), thể hiện các biểu đồ là kết quả của những lệnh vẽ (thẻ Plots), thể hiện các phụ kiện (thẻ Packages), thể hiện các trợ giúp (thẻ Help) và dùng để xem (thẻ Viewer).

Trên mỗi khung hay thẻ có những biểu tượng tương ứng với các chức năng liên quan đến nội dung của khung hay thẻ. Phía trên bên phải mỗi khung có hai biểu tượng dùng để phóng lớn hay thu nhỏ khung, tương tự như cửa sổ của các ứng dụng khác trong môi trường Windows.

Ta có thể thay đổi kích thước các khung này bằng cách đưa con trỏ chuột đến đường biên của khung rồi dùng cách kéo và thả.

Trong khi hoạt động, nội dung của các khung, các thẻ này có tương quan mật thiết với nhau. Khi ta thực hiện một lệnh trong khung Nguồn, lệnh này được lưu vào thẻ History và được thể hiện trên khung Tương tác. Nếu đây là lệnh vẽ thì kết quả sẽ xuất ra thẻ Plot. Ngoài ra các khung này còn hỗ trợ đáng kể khi ta soạn thảo các câu lệnh cũng như thực hiện các tác vụ về xử lý dữ liệu như chúng ta sẽ trải nghiệm.

Để có thể cảm nhận được sự hoạt động của R và RStudio cũng như làm quen dần với các thành phần của R, ta sẽ viết một số câu lệnh, cho thực hiện và nhận xét như trong các phần tiếp theo.


Làm quen với khung Tương tác

 

Trước hết cho khởi động RStudio, ta thấy xuất hiện màn hình RStudio như Hình 1. Chuyển đến khung Tương tác. Ta thấy phía trên khung này là một số thông tin liên quan đến R. Đầu dòng dưới cùng là dấu >, đây chính là dấu nhắc (prompt) của R. Các dòng lệnh sẽ được viết sau dấu nhắc này.

Để có thể sử dụng thành thạo một phần mềm hay một chương trình ứng dụng, một trong những cách tốt nhất là chúng ta thường xuyên thực tập các chức năng của chúng trên máy tính. Bạn hãy khởi động RStudio và cùng thực hành các thí dụ sau. Với mỗi thí dụ, bạn có thể thực hiện một số lần với các nội dung được thay đổi đôi chút.

Để cộng hai số 2 và 5, ta hãy nhập lệnh sau:

> 2+5

Thực hiện lệnh này (ta chuyển con trỏ chuột đến cuối dòng lệnh và ấn phím Enter) ta thấy xuất hiện dòng sau:

[1] 7

Trong đó 7 là kết quả của phép tính, [1] cho ta biết theo sau nó là thành phần thứ nhất của kết quả thực hiện câu lệnh. Sau này ta sẽ thấy thông báo này hữu ích khi thể hiện các kết quả có nhiều thành phần.

Bạn có thể thực hiện thêm một số thử nghiệm với các phép tính số học khác như trừ (-). nhân (*), chia (/), lũy thừa (^).

Để tính logarit tự nhiên (cơ số là e) của 6, ta nhập lệnh sau:

> log(6)

Ta đã dùng hàm log của R với đối số là 6 đặt trong ngoặc đơn. Thực hiện lệnh này ta thu được kết quả là:

[1] 1.791759

Lưu ý là kết quả được trình bày theo quy ước của Anh - Mỹ nghĩa là dấu "." ngăn cách phần nguyên và phần thập phân.

Để tính cos của 0,5 radian ta nhập lệnh sau:

> cos(0.5)

Thực hiện lệnh này, ta thu được kết quả:

[1] 0.8775826

Để tính giai thừa của 6, ta dùng lệnh:

> factorial(6)

Kết quả thu được là:

[1] 720

Có thể sau khi ta ấn phím Enter, ta thấy xuất hiện dấu + thay vì kết quả. Điều này có nghĩa là dòng lệnh chưa hoàn chỉnh, ta cần bổ xung thêm các nội dung vào phía sau dấu + cho đầy đủ (không cần viết lại toàn bộ câu lệnh).

Bây giờ ta cần tính trung bình cộng cho 4 số 4, 5, 2 và 8. Trước hết ta tạo ra một nhóm gồm 4 số trên bằng hàm c (concatenate) và đặt tên cho nhóm số này là `x` bằng câu lệnh sau:

> x <- c(4, 5, 2, 8)

Trong câu lệnh trên, <- là lệnh gán; các số 4, 5, 2 và 8 được gọi là các đối số của hàm c

Sau khi ta nhấn phím Enter, con trỏ nhảy xuống đầu dòng kế nhưng không hiện ra nội dung nào khác. Điều này do lệnh gán không tạo ra một kết quả nào xuất ra màn hình. Tuy nhiên khi quan sát thẻ Environment tại khung Đối tượng, ta thấy xuất hiện thêm một dòng (Hình 2).

  x      num [1:4] 4 5 2 8

Hình 2 Khung Đối Tượng sau khi thực hiện câu lệnh > x <- c(4, 5, 2, 8)

Điều này được diễn giải như sau:

  • Sau khi ta thực hiện lệnh gán, có thêm một đối tượng mới hay biến mới được tạo ra, trong trường hợp này là `x`.
  • Các phần tử của `x` có kiểu dữ liệu là kiểu số (num)
  • `x` gồm 4 phần tử được ký hiệu từ 1 đến 4 ([1:4]).
  • Giá trị của các phần tử này lần lượt là 4, 5, 2 và 8.

Ghi chú : Ta có thể thêm khoảng trắng vào hai bên của dấu "," giữa các đối số cũng như hai bên của các lệnh gán <-, các phép tính như +, *, ^. Việc thêm các khoảng trắng này có thể làm cho các câu lệnh dễ đọc hơn.

Để tính trung bình cộng của 4 số ấy, ta dùng lệnh:

> mean(x)

Ta thu được kết quả:

> [1] 4.75

Vậy ta thấy R đã sử dụng tên của đối tượng `x` đại diện cho nhóm gồm 4 số 4, 5, 2 và 8. Điều này rất thuận tiện khi ta phải xử lý các đối tượng phức tạp, có nhiều thành phần.

Lưu ý

Lệnh gán giá trị `a` cho đối tượng `x` có thể ở các dạng sau:

  • > x <- a
  • a -> x
  • x = a
  • nhưng a = x thì không hợp lệ và R sẽ báo lỗi.

Dạng thứ nhất được dùng phổ biến nhất và ta sẽ sử dụng dạng ấy cho website này.

Thí dụ

Trong R, để tính ea ta sử dụng hàm exp ; để tìm số lớn nhất trong một nhóm số ta sử dụng hàm max.

1. Bạn hãy cho biết số nào lớn nhất trong các số 2*1,12 ; 1,15,6 ;, e1,1 ; và 2,4*1,1.





Bài giải

Trước hết, ta nhận thấy trong cả 4 số cần so sánh đều chứa thừa số "1,1". Để thuận tiện cho việc tính toán, ta gán giá trị này cho biến `x` bằng câu lệnh:

> x <- 1.1

Trên thẻ Environment xuất hiện biến x với giá trị là 1,1.

Để có thể tính toán các giá trị này một lần, ta tạo biến y và nhóm 4 số này lại bằng câu lệnh:

> y <- c(2*x^2, x^5.6, exp(x), 2.4*x)

Trên thẻ Environment xuất hiện thêm dòng mới:

  y      num [1:4] 2.42 1.71 3 2.64

Vậy ta biết giá trị của 4 số cần tính lần lượt là 2,42 ; 1,71 ; 3 ; và 2,64. Vậy giá trị lớn nhất là số thứ ba, là e1,1.


2. Giá trị lớn nhất ấy là bao nhiêu (Ghi kết quả với 4 chữ số thập phân)


Bài giải

Do trong thẻ Environment chỉ thể hiện kết quả với tối đa là 2 chữ số thập phân nên để có kết quả với 4 chữ số thập phân ta phải dùng R để tính giá trị lớn nhất này bằng lệnh:

> exp(x)

hay :

> max(y)

Kết quả thu được là :

[1] 3.004166

Làm quen với khung Nguồn

 

Bây giờ ta bắt đầu làm quen với việc sử dụng khung Nguồn. Ta chuyển sang khung này bằng cách kích chuột vào một điểm bất kỳ của khung hay ấn tổ hợp phím Ctrl+1.

Ta tính cos của 0,5 radian bằng cách nhập:

cos(0.5)

Trên khung Nguồn xuất hiện dòng lệnh đầu tiên như Hình 3

Hình 3 Khung Nguồn với dòng lệnh đầu tiên

Ta nhận thấy trên dòng lệnh này:

  • biên trái là số thứ tự của dòng lệnh;
  • tên của hàm và đối số của hàm có màu khác nhau.

Các chi tiết này làm việc viết và đọc các câu lệnh được thuận tiện, dễ dàng hơn.

Để thực hiện dòng lệnh này ta có thể:

  • kích chuột vào biểu tượng Biểu tượng Run đặt ở phía trên của khung Nguồn,
  • ấn tổ hợp phím Ctrl+R hay Ctrl+Enter.

Khi ta quan sát khung Tương tác thì xuất hiện thêm hai dòng mới:

> cos(0.5)
[1] 0.8775826

Như vậy, khi ta thực hiện dòng lệnh trong khung Nguồn thì trong khung Tương tác sẽ xuất hiện lại dòng lệnh ấy và xuất ra kết quả (nếu có).

Trong khung Nguồn, ta tạo một nhóm số mới gồm 4 số 1, 2, 3 và 4 và gán cho biến `y` bằng câu lệnh:

y <- c(1, 2, 3, 4)

Khi nhập lệnh gán, ta nhập tuần tự < rồi - hay sử dụng tổ hợp phím Alt+-.

Ta tính trung bình cộng cho bốn số hạng này của biến y bằng lệnh:

mean(y)

Tuy nhiên, khi thực hiện dòng lệnh này ta thấy xuất hiện thông báo lỗi sau trong khung Tương tác:

> mean(y)
Error in mean(y) : object 'y' not found

Lý do của thông báo lỗi này là do R chỉ thực hiện dòng cuối cùng (lệnh mean(y)) mà chưa thực hiện dòng lệnh trước, lệnh gán giá trị cho biến `y`. Vì thế R không tìm thấy biến này. Để khác phục lỗi này ta có thể:

  • thực hiện dòng lệnh gán, rồi thực hiện dòng lệnh tính trung bình cộng;
  • tô chọn cả hai dòng lệnh này rồi thực hiện một lần.

Kết quả thu được trên khung Tương tác là:

> mean(y)
[1] 2.5

Lưu ý : Khi ta thực hiện dòng lệnh chỉ chứa tên của đối tượng thì kết quả xuất ra là giá trị của các thành phần của đối tượng ấy. Đây là một thao tác được dùng phổ biến khi làm việc với R. Thí dụ khi thực hiện câu lệnh

y

Kết quả thu được trên khung Tương tác sẽ là:

> y
[1] 1 2 3 4

Việc sử dụng khung Nguồn để viết mã lệnh có nhiều ưu điểm, đặc biệt khi có nhiều câu lệnh: ta có thể thực hiện từng câu trong đoạn lệnh để biết tác động của câu lệnh ấy ; việc chỉnh sửa câu lệnh thuận tiện hơn, ta có thể quan sát được mối tương quan giữa các câu lệnh, . . . Vì thế, trong website này chúng ta sẽ sử dụng chủ yếu khung Nguồn để viết các câu lệnh. Do đó bạn thường thấy phía trước các câu lệnh không có dấu nhắc >.

Thí dụ

Trên khung Nguồn, ta thấy các câu lệnh sau:

a <- c(2,4,6,8)
b <- c(1,3,5,7)
c <- a*b
c

Bạn hãy dự đoán kết quả khi thi hành đoạn lệnh trên, cho chạy thử và trả lời câu hỏi "Kết quả thực hiện đoạn lệnh trên là:".





Vẽ một biểu đồ đơn giản

 

Để chuẩn bị vẽ đồ thị, ta tạo thêm một biến `z` gồm 4 số là 2, 5, 6 và 8 với lệnh:

z <- c(2, 5, 6, 8)

Cho thực hiện lệnh trên để khai báo biến `z` cho R. Sau đó sử dụng lệnh vẽ biểu đồ sau:

plot(y, z)

Sau khi thực hiện lệnh này, trên khung Tương tác chỉ xuất hiện lại lệnh trên, nhưng trong thẻ Plots xuất hiện một biểu đồ như trên Hình 4.

Hình 4 Biểu đồ yz trên thẻ Plots

Đây là một biểu đồ đơn giản được vẽ bằng lệnh plot. Ta có một số nhận xét sau:

  • Biểu đồ là một hệ trục tọa độ với trục hoành là `y` và trục tung là `z`.
  • Cả hai trục đều không bắt đầu từ 0 mà từ giá trị thấp nhất.
  • Biểu đồ có 4 điểm tương ứng với 4 giá trị của `y` và 4 giá trị của `z`.
  • Trục hoành tương ứng với giá trị của `y`, trục tung tương ứng với giá trị của `z`.

Kích thước biểu đồ này phụ thuộc vào kích thước của khung Đa chức năng. Khi ta thay đổi kích thước của khung này, kích thước biểu đồ thay đổi theo.

Ngoài lệnh plot, R còn cung cấp cho chúng ta một số lệnh khác như barplot, boxplot để vẽ các loại biểu đồ khác nhau. Bên cạnh đó, một số phụ kiện, đặc biệt là ggplot2, còn cung cấp nhiều công cụ để thực hiện các biểu đồ theo ý ta muốn, với chất lượng cao về mặt kỹ thuật cũng như mỹ thuật. Những chi tiết ấy được trình bày tại chương "Vẽ biểu đồ bằng R".

 

 

OK



Trang trướcVề đầu chươngTrang sau


Trang web này được cập nhật lần cuối ngày 25/11/2018