logo xDuLieu.com

Trang trướcMột số khái niệm cơ bản của RTrang sau

Trong phần này, ta sẽ tìm hiểu một số khái niệm cơ bản của R, trong đó một số nội dung đã được đề cập sơ lược ở các phần trước.

Đối tượng

 

Đây là một khái niệm khá trừu tượng. Một cách khái quát, ta có thể xem R làm việc với các đối tượng: nhận các đối tượng để xử lý, biến đổi các đối tượng ấy, tạo ra những đối tượng mới. Đối tượng có thể chỉ là một con số hay một ký tự, nhưng có thể là cả một bảng với nhiều dòng, nhiều cột, hay có thể là kết quả của toàn bộ một quá trình xử lý.

Để có thể làm việc với các đối tượng, ta cần đặt tên cho nó và lúc bấy giờ ta thường gọi là biến. Đối tượng thường được khởi tạo bằng lệnh gán như:

x <- 12.34

Sau khi khởi tạo, đối tượng được cấp phát một vùng nhớ trong máy tính để lưu giữ nội dung của nó. Nhờ vậy ta có thể sử dụng tên của đối tượng thay cho giá trị của nó để xử lý, thí dụ như:

exp(x) + x^3

Ta có thể quan sát tab Environment để nắm bắt được tên các đối tượng đã được khởi tạo cũng như một số thông tin có liên quan đến các đối tượng ấy như kiểu dữ liệu, số thành phần.

Nếu ta muốn loại bỏ một đối tượng `x` thì ta dùng lệnh "remove" ở dạng sau:

rm(x)

Đặt tên cho đối tượng

R không có nhiều ràng buộc về tên đối tượng hay tên biến. Ta chỉ cần lưu ý một số điểm sau:

  • Tên của đối tượng chỉ chứa các mẫu tự, các số, dấu gạch thấp (_), dấu chấm (.) và không chứa ký tự trống (khoảng trắng). Điều này có phần nào bất tiện cho tiếng Việt.
  • Tên phải được bắt đầu bằng một mẫu tự hay dấu chấm. Nếu bắt đầu là dâu chấm thì ký tự tiếp theo không được là số.
  • Tên không được trùng với các từ dành riêng như for, TRUE, if.
  • R phân biệt chữ hoa và chữ thường. Do đó abc khác với Abc; ta có hàm log nhưng không có hàm Log.

Ngoài ra ta có thể sử dụng một số quy ước khác và có tính gợi nhớ để lệnh dễ đọc, dễ hiểu hơn.

Ghi chú : Để tuân thủ các quy ước trên và không bị lỗi khi thao tác với dữ liệu, trong các trường hợp bất khả kháng, chúng tôi sử dụng tiếng Việt không dấu để đặt tên cho các đối tượng và các thành phần dạng ký tự có liên quan như "xoai" thay cho "xoài". Khi có sự trùng lặp, chúng tôi sẽ thêm dấu theo quy định của kiểu gõ Telex. Thí dụ như "duwa" thay cho "dưa", "duwsa" thay cho "dứa", "duwfa" thay cho "dừa". Trong một số trường hợp, khoảng trắng được thay thế bằng dấu gạch thấp (_) như "san_luong" hay sử dụng chữ hoa như "SanLuong" hoặc cả hai như San_Luong.


Hàm

 

Qua phần làm quen với R, ta thấy hàm được sử dụng rất phổ biến. Hàm được dùng để thực hiện một công việc cụ thể nào đấy như tính toán, vẽ, truy xuất dữ liệu. Khi sử dụng hàm, ta phải nêu tên hàm và theo sau là cặp dấu ngoặc đơn (); trong cặp dấu ngoặc này là đối số.

Đối số là các thông tin được hàm sử dụng để thực hiện công việc tương ứng. Tùy theo hàm mà số lượng đối số sẽ thay đổi. Khi hàm có nhiều đối số, giữa các đối số có dấu phẩy để tách biệt chúng với nhau Cũng có những đối số không bắt buộc phải khai báo, đặc biệt khi giá trị của đối số là mặc định theo R. Cũng có một số ít hàm không cần đối số như hàm date.

Phần lớn các hàm mà ta sử dụng do R cung cấp thông qua các phụ kiện. Tuy nhiên ta cũng có thể tự tạo các hàm để giải quyết các vấn đề riêng biệt.

Một số đáng kể các hàm của R có thể đảm nhiệm hai chức năng: lấy thông tin từ đối tượng và xác lập thông tin cho đối tượng. Thí dụ hàm length:

  • n <- length(vec1) : lấy cỡ của vectơ vec1 và gán giá trị này cho biến `n`,
  • length(vec2) <- 6 : gán cho cỡ của vectơ vec2 là 6.

Trợ giúp

 

Cũng như các chương trình hay phần mềm khác, ta có thể nhờ R trợ giúp, cung cấp thông tin về một chủ đề nào đó. Khi ấy ta có thể sử dụng một số cách như được mô tả sau đây.

Dùng trình đơn Help của RStudio

Khi kích chuột vào Help trên thanh trình đơn, xuất hiện một trình đơn. Kích chọn chức năng "R Help", tại tab Help của khung Đa chức năng sẽ xuất hiện trang chủ của bộ chương trình trợ giúp. Tại trang này có nhiều liên kết đến các trang khác chứa các thông tin, nội dung hay tài liệu để tra cứu, và ta có thể kích chọn liên kết tương ứng với nội dung cần tìm. Ta cũng có thể gõ tên của chủ đề vào ô Tìm kiếm đặt phía trên bên phải của trang chủ này

Dùng câu lệnh

Tùy theo chủ đề cần tìm kiếm mà ta có thể sử dụng một số câu lệnh để thu được thông tin mong muốn. Sau đây là một số trường hợp thông dụng.

  • Khi ta muốn tìm thông tin về hàm thì đặt dấu ? trước tên hàm hay dùng hàm help với đối số là tên hàm cần tìm thông tin, trong tab Help sẽ hiện các nội dung cần thiết. Thí dụ ta muốn tìm thông tin về hàm plot thì ta có thể dùng ?plot hay help("plot")
  • Nếu muốn tìm thông tin về một chủ đề nào đó, ta đặt ?? trước tên chủ đề hay dùng hàm help.search với đối số là tên chủ đề. Thí dụ ta muốn tìm thông tin về chủ đề "standard" thì ta dùng: ??standard hay help.search("standard")
  • Khi ta chỉ nhớ một phần của tên chủ đề, ta dùng hàm apropos. Thí dụ như apropos("stan")
  • Nếu ta muốn truy cập vào bộ chương trình trợ giứp tương tự như khi sử dụng chức năng "R Help" của trình đơn Help của RStudio, ta dùng help.start()

Thư mục hoạt động

 

Trước khi chính thức làm việc với R, ta cần xác lập một thư mục để R hoạt động. Trong thư mục này sẽ chứa các nội dung cần thiết để cung cấp cho R như tập tin dữ liệu, đồng thời nó cũng chứa các thành quả mà R thực hiện được (có thể mang tính tạm thời).

Khi khởi động chương trình, R đã chọn sẵn thư mục hoạt động. Để xác định vị trí của thư mục này, ta dùng lệnh sau:

getwd()

Để xác lập lại thư mục này ta có thể :

  • Dùng lệnh setwd với đối số là đường dẫn đến thư mục ta chọn. Thí dụ:

    setwd(D:/Hoc R/Thuc Hanh/Bai 1)

    Lưu ý là trong R, ta sử dụng dấu gạch nghiêng tới "/" trong đường dẫn thay vì dấu gạch nghiêng lùi "\" trong Windows.
  • Từ trình đơn Tools kích chọn Global Options; tại thẻ General chọn mục “Default working directory (when not in a project)”; sau đó kích nút “Browse” rồi chọn thư mục.
  • Từ trình đơn Session, kích chọn Set Working Directory rồi kích chọn Choose Directory rồi chọn thư mục.

Việc xác lập thư mục hoạt động sẽ giúp ta thuận tiện hơn khi làm việc sau này, thí dụ các câu lệnh dùng để lưu các kết quả được đơn giản hơn. Thông thường sau khi chọn lựa lại thư mục hoạt động, ta phải đóng RStudio rồi cho khởi động lại, việc lựa chọn mới có hiệu lực.

Để thăm dò nội dung của thư mục hoạt động ta có thể dùng tab Files hay dùng lệnh dir.

Để xây dựng một chương trình bằng R, ta nên khởi đầu bằng lệnh xác lập thư mục hoạt động.


Các tập tin của R

 

R sử dụng bốn dạng tập tin chính :

  • Các tập tin có phần mở rộng là .r hay .R. Đây là các tập tin chứa các đoạn chương trình (script). Các tập tin này được đưa vào R bằng lệnh source.
  • Các tập tin có phần mở rộng là .RData hay .rda. Các tập tin này lưu trữ các thông tin liên quan đến các phiên làm việc (session). Các tập tin này có thể được đưa vào R một cách tự động khi khởi động hay qua lệnh load.
  • Các tập tin có phần mở rộng là .csv hay .CSV. Đây là các tập tin dùng để lưu trữ dữ liệu ở dạng bảng (data.frame). Các tập tin này được đưa vào R bằng lệnh read.csv hay qua chức năng Import Dataset tại tab Environment của RStudio.
  • Các tập tin có phần mở rộng là .tab, .txt hay .TXT. Các tập tin này lưu trữ dữ liệu ở dạng văn bản (txt) nhưng tuân thủ một số quy luật nào đó. Các tập tin này được đưa vào R bằng lệnh read.table hay qua chức năng Import Dataset tại tab Environment của RStudio.

Nhập và xuất

 

Trong một phiên (session) làm việc của R (từ khi khởi động đến khi đóng chương trình), quá trình tương tác giữa người và máy xẩy ra: người ra lệnh cho máy bằng cách nhập lệnh và các thông tin, máy thực hiện lệnh và xuất kết quả (nếu có) ra màn hình.

Như vậy thiết bị nhập chuẩn là bàn phím và thiết bị xuất chuẩn là màn hình. Tuy nhiên ta có thể nhập vào máy và xuất kết quả theo các phương cách khác.

Một trong các cách nhập phổ biến là chuẩn bị sẵn các lệnh và thông tin cần thiết vào một tập tin đặc biệt chỉ chứa các đoạn lệnh và ghi chú thiết yếu. Ta tạm gọi tập tin này là đoạn trình (script). Sau đó dùng lệnh source để nhập đoạn trình vào R. Trong lệnh này cần có đường dẫn (như D:/xx/yy/ten_doan_trinh.R), nếu không có đường dẫn, R sẽ đi tìm trong thư mục hoạt động. Theo quy định chung, tên đoạn trình có phần mở rộng là .R nhưng điều này cũng không bắt buộc

R có một số phương cách xuất khác nhau (device). Một trong các cách xuất phổ biến là xuất nội dung ra một tập tin với lệnh sink(tap_tin_xuat). Ta có một số trường hợp sau:

  • theo mặc định, nội dung cũ của tập tin bị xóa và thay bằng nội dung mới,
  • nếu ta sử dụng tùy chọn append = TRUE thì nội dung mới sẽ ghi tiếp theo sau phần nội dung cũ.
  • khi ta sử dụng tùy chọn split = TRUE thì nội dung mới cũng đồng thời xuất ra màn hình,
  • nếu ta dùng lệnh sink không có đối số thì nội dung chỉ được xuất ra màn hình.

Tuy nhiên nếu nội dung xuất ở dạng đồ họa thì lệnh sink không có hiệu lực. Khi ấy ta phải dùng các hàm cho trong Bảng 1.

Bảng 1 Các hàm sử dụng để xuất các nội dung đồ họa
Hàm sử dụng Loại tập tin
 pdf("ten_tap_tin.pdf") pdf
 win.metafile("ten_tap_tin.wmf") Windows metafile
 png("ten_tap_tin.png") png
 jpeg("ten_tap_tin.jpg") jpeg
 bmp("ten_tap_tin.bmp") bmp
 postscript("ten_tap_tin.ps") PostScript

Sau đó sử dụng lệnh dev.off để nội dung được xuất trở lại màn hình.

Để biết được phương cách xuất hiện hành, sử dụng lệnh dev.cur. Để xác lập phương cách xuất, dùng lệnh dev.set(n) với n lá số nguyên tương ứng với phương cách xuất.

Khi ta sử dụng RStudio, các sự trợ giúp ở dạng đồ họa và sử dụng chuột sẽ làm việc nhập và xuất thuận tiện hơn khá nhiều.


Phụ kiện

 

Khi mới khởi động, ta thấy R có thể thực hiện nhiều công việc khác nhau thông qua các hàm. Tuy nhiên khi giải quyết các vấn đề phức tạp, khi cần thực hiện các chức năng chuyên biệt hay nâng cao, các hàm này chưa đủ để đáp ứng các yêu cầu đó. Khi ấy ta cần sử dụng các hàm đặt trong các phụ kiện (package).

Thật ra, khi cài đặt R, ta cũng đã cài đặt và kích hoạt sẵn phụ kiện “base” và một số phụ kiện khác như “stats” hay “graphics” gồm các hàm thực hiện các chức năng cơ bản. Để biết những phụ kiện nào đã được cài đặt, ta dùng tab Packages ở khung Đa chức năng hay sử dụng lệnh installed.packages.

Danh sách và nội dung các nhóm phụ kiện của R được trình bày tại CRAN Task Views

Cài đặt phụ kiện

Trong một phụ kiện, ngoài các hàm đã được xây dựng sẵn, còn có những tài nguyên khác như các bộ dữ liệu, các đối tượng đi kèm. Khi ta muốn sử dụng những tài nguyên mà phụ kiện chứa nó chưa có sẵn trong ổ cứng của máy tính, ta cần cài đặt phụ kiện từ CRAN (vì vậy máy cần được kết nối với Internet). Ta có thể dùng những cách sau:

  • dùng lệnh install.packages("ten_phu_kien")
  • Trong RStudio, sử dụng trình đơn Tools, chức năng Install packages ... , sau đó thực hiện theo các hướng dẫn và yêu cầu thể hiện trên các cửa sổ dùng để cài đặt.
  • Trong R, sử dụng trình đơn Packages, chức năng Install package(s) ... , sau đó thực hiện theo các hướng dẫn và yêu cầu thể hiện trên các cửa sổ dùng để cài đặt.

Lưu ý là ta có thể cài nhiều phụ kiện cùng một lúc. Ngoài ra một số phụ kiện cần một số phụ kiện khác (dependencies) để hoạt động ; nếu trong máy tính chưa có, các phụ kiện phụ thuộc này cũng được cài đặt.

Khi ta muốn xóa một phụ kiện khỏi ổ cứng của máy tính, ta có thể dùng lệnh:

remove.packages("ten_phu_kien")

Sử dụng phụ kiện

Để sử dụng tài nguyên của một phụ kiện đã được cài đặt, ta cần kích hoạt nó bằng những cách sau:

  • dùng lệnh library("ten_phu_kien"),
  • trong RStudio, ta dùng tab Packages. Khi muốn kích hoạt phụ kiện nào, ta kích chọn phụ kiện ấy rồi kích vào nút Install ở phía trên bên trái của tab Packages.

Để liệt kê tên các phụ kiện đã được kích hoạt, ta dùng lệnh search()

Để tìm hiểu thêm về các tài nguyên cũng như thông tin của phụ kiện, ta dùng lệnh library(help("ten_phu_kien"))

Ta có thể tham khảo thêm về các phụ kiện nên sử dụng để giải quyết một vấn đề nào đấy tại bài viết "Recommended Packages" của Garret Testing tại website RStudio.



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