Lập trình với R: Workspace và Files

Workspace and Files

Workspace and Files


Trong bài viết này, chúng ta sẽ thao tác với workspace trong R gồm các tương tác giữa file và folder trong dự án của mình.

Các hệ điều hành khác nhau sẽ có những quy định cú pháp liên quan đến đường dẫn đến file và folder. Do đó, có thể kết quả hiển thị dưới đây (Ubuntu) sẽ khác với máy tính của bạn.

Tuy nhiên, điều quan trọng là R cung cấp những hàm API thông dụng để tương tác với files và folders. Nhờ vậy mà code của bạn có thể chạy trên nhiều hệ điều hành khác nhau.

Đầu tiên, ta muốn biết hiện tại chúng ta đang ở vị trí nào trong workspace. Sử dụng hàm getwd() để trả về vị trí làm việc hiện tại.

getwd()
[1] "/home/lucky"

# liệt kê danh sách các object (những biến được khởi tạo như x, y, my_data) có bên trong workspace của bạn.
ls()

Đa số API của R khá tương đồng với những lệnh command line trong hệ Unix (Mac OS, Ubuntu, Linux).
Để liệt kê danh sách các files bên trong workspace hiện tại ta dùng lệnh sau:

list.files()
[1] "Desktop"                       "Documents"                    
[3] "Downloads"                     "Dropbox"                      
[5] "examples.desktop"              "Music"                        
[7] "Pictures"                      "Public"

# hàm dir() cũng có chức năng tương tự
dir()
[1] "Desktop"                       "Documents"                    
[3] "Downloads"                     "Dropbox"                      
[5] "examples.desktop"              "Music"                        
[7] "Pictures"                      "Public"

Sử dụng hàm args() với đối số là tên hàm là một cách hay để xem danh sách các đối số của hàm này.

args(list.files)
function (path = ".", pattern = NULL, all.files = FALSE, full.names = FALSE, 
    recursive = FALSE, ignore.case = FALSE, include.dirs = FALSE, 
    no.. = FALSE) 
NULL

Sau đây là danh sách các hàm để tạo và thay đổi trên thư mục và tập tin:

# tạo thư mục testdir
dir.create("testdir")

# tạo file có tên mytest.R
file.create("mytest.R")

# kiểm tra xem file mytest.R có tồn tại hay không
file.exists("mytest.R")

# xem thông tin file
file.info("mytest.R")

# xem thông tin thuộc tính mode của file
file.info("mytest.R")$mode

# đổi tên file
file.rename("mytest.R", "mytest2.R")

# sao chép file
file.copy("mytest2.R", "mytest3.R")

# lấy đường dẫn tương đối của file so với workspace hiện tại
file.path("mytest3.R")

# tạo đường dẫn đến folder, độc lập với hệ điều hành (Unix "/", Windows "\")
file.path("folder1", "folder2")

# tạo thư mục lồng nhau
dir.create(file.path("testdir2", "testdir3"), recursive = TRUE)

# xóa thư mục và các tập tin bên trong
unlink("testdir2", recursive = TRUE)

Thay vì nhập các dòng lệnh trên thì IDE RStudio hỗ trợ cho chúng ta giao diện có thể tương tác trực tiếp với tập tin và thư mục. Tuy nhiên, việc sử dụng các mã lệnh cho phép chúng ta có thể chuyển giao các thông số cài đặt một cách tự động ở các hệ thống khác. Vì vậy, ta nên biết qua những lệnh hỗ trợ làm việc với tập tin và thư mục trong R.

Nguồn tham khảo: http://swirlstats.com/

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s