6 Dự án R

Một dự án R cho phép công việc của bạn được đóng gói trong một thư mục khép kín. Trong dự án, tất cả các tập lệnh, tệp dữ liệu, biểu đồ/kết quả đầu ra và lịch sử có liên quan được lưu trữ trong các thư mục con và quan trọng là - thư mục làm việc là thư mục gốc của dự án.

6.1 Gợi ý sử dụng

Một cách phổ biến, hiệu quả và ít rắc rối để sử dụng R là sự kết hợp của 3 thành tố này. Mỗi dự án công việc cụ thể sẽ được lưu trữ trong một dự án R. Từng thành tố được mô tả như dưới đây.

  1. Một Dự án R
    • Một môi trường làm việc khép kín với các thư mục bao gồm dữ liệu, tập lệnh, các kết quả đầu ra, v.v.
  2. Package here dành cho các đường dẫn tương đối
    • Đường dẫn tệp được ghi một cách tương đối dẫn đến thư mục gốc của dự án R - xem chương Nhập xuất dữ liệu để biết thêm chi tiết
  3. Package rio để nhập/xuất
    • import()export() giúp giải quyết tất cả các tệp với phần mở rộng khác nhau (ví dụ: .csv, .xlsx, .png)

6.2 Tạo một dự án R

Để tạo một dự án R, hãy chọn “New Project” từ menu File.

  • Nếu bạn muốn tạo một thư mục mới cho dự án, hãy chọn “New directory” và cho biết nơi bạn muốn nó được tạo.
  • Nếu bạn muốn tạo dự án trong một thư mục có sẵn, hãy chọn “Existing directory” và trỏ tới đường dẫn thư mục đó.
  • Nếu bạn muốn tạo một bản sao từ kho lưu trữ Github, hãy chọn tùy chọn thứ ba “Version Control” và sau đó chọn “Git”. Xem chương Version control với Git và Github để biết thêm chi tiết.

Dự án R bạn tạo ra sẽ có dạng một thư mục chứa tệp .Rproj. Tệp này có thể đóng vai trò là một lối tắt mà bạn sẽ mở dự án của mình. Bạn cũng có thể mở một dự án bằng cách chọn “Open Project” từ menu File. Ngoài ra, ở phía trên bên phải trên của RStudio, bạn sẽ thấy biểu tượng dự án R và menu thả xuống gồm các dự án R có sẵn.

Để thoát khỏi một dự án R, hãy mở một dự án mới hoặc đóng dự án (File - Close Project).

Di chuyển giữa các dự án

Để di chuyển giữa các dự án, hãy bấm vào biểu tượng dự án R và menu thả xuống ở phía trên cùng bên phải của RStudio. Bạn sẽ thấy các tùy chọn Close Project, Open Project và danh sách các dự án gần đây.

Thiết lập

Thông thường, mỗi khi bạn khởi động RStudio nên là một “clean slate - khởi đầu mới” - nghĩa là với không gian làm việc hiện tại không được giữ nguyên so với phiên làm việc trước đó. Điều này có nghĩa là các đối tượng và kết quả của bạn sẽ không tồn tại giữa các phiên làm việc (bạn phải tạo lại chúng bằng cách chạy lại scripts của mình). Điều này là tốt, vì nó sẽ buộc bạn phải viết các đoạn code tốt hơn và tránh được lỗi về lâu dài.

Để thiết lập RStudio có một “khởi đầu mới” mỗi khi khởi động:

  • Chọn “Project Options” từ menu Tools.
  • Trong tab “General”, thiết lập RStudio to không khôi phục .RData vào môi trường làm việc của bạn mỗi khi khởi động, và cũng không lưu môi trường làm việc vào tệp .RData khi kết thúc.

Tổ chức

Thông thường sẽ có các thư mục con trong dự án của bạn. Hãy cân nhắc đặt tên các thư mục như “data”, “scripts”, “figures”, “presentations”. Bạn có thể thêm các thư mục theo cách thông thường mà bạn sẽ thêm một thư mục mới cho máy tính của mình. Ngoài ra, hãy xem chương Tương tác với thư mục làm việc để tìm hiểu cách tạo thư mục mới bằng lệnh R.

Kiểm soát phiên bản

Hãy cân nhắc sử dụng một hệ thống kiểm soát phiên bản. Nó có thể là một cái gì đó đơn giản như có ngày tháng trên tên của các scripts (ví dụ: “transmission_analysis_2020-10-03.R”) và một thư mục “lưu trữ”. Bạn cũng có thể thêm các đoạn văn bản tiêu đề nhận xét ở đầu mỗi scripts bao gồm các thông tin như mô tả, thẻ, tác giả và nhật ký thay đổi.

Một phương pháp phức tạp hơn đó là việc sử dụng Github hoặc một nền tảng tương tự để kiểm soát phiên bản. Xem chương Version control với Git và Github.

Một mẹo là bạn có thể tìm kiếm trong toàn bộ dự án hoặc thư mục bằng cách sử dụng công cụ “Find in Files” (Edit menu)). Công cụ này có thể tìm kiếm và thậm chí thay thế các chuỗi trên nhiều tệp.

6.3 Các ví dụ

Dưới đây là một vài ví dụ về cách nhập/xuất/lưu trữ sử dụng lệnh here() from within an R projct. bên trong một dự án R. Đọc thêm về package here trong chương Nhập xuất dữ liệu.

Nhập linelist_raw.xlsx từ thư mục “data” trong dự án R của bạn

linelist <- import(here("data", "linelist_raw.xlsx"))

Xuất đối tượng linelist thành tệp “my_linelist.rds” vào thư mục “clean” nằm trong thư mục “data” trong dự án R của bạn.

export(linelist, here("data","clean", "my_linelist.rds"))

Lưu biểu đồ được in gần đây nhất thành tệp “epicurve_2021-02-15.png” nằm trong thư mục “epicurves” của thư mục “outputs” trong dự án R của bạn.

ggsave(here("outputs", "epicurves", "epicurve_2021-02-15.png"))

6.4 Nguồn

Trang web của RStudio về việc sử dụng các dự án R