Bắt đầu ngayBắt đầu miễn phí

Chọn lọc (subset) một factor

Bạn có thể lấy phần tử của factor tương tự như với vector. Như thường lệ, [ ] là chìa khóa! Tuy nhiên, R có một số hành vi thú vị khi bạn muốn loại bỏ một mức (level) của factor khỏi phân tích. Ví dụ, nếu bạn muốn loại bỏ trái phiếu AAA khỏi danh mục thì sao?

credit_factor

[1] AAA AA  A   BBB AA  BBB A  
Levels: BBB < A < AA < AAA

credit_factor[-1]

[1] AA  A   BBB AA  BBB A  
Levels: BBB < A < AA < AAA

R đã loại bỏ trái phiếu AAA ở vị trí đầu tiên, nhưng vẫn giữ lại level AAA! Nếu bạn vẽ biểu đồ, bạn sẽ thấy biểu đồ cột ở bên phải. Cách làm tốt hơn là yêu cầu R bỏ hẳn level AAA. Để làm điều đó, thêm drop = TRUE:

credit_factor[-1, drop = TRUE]

[1] AA  A   BBB AA  BBB A  
Levels: BBB < A < AA

Đúng như bạn muốn!

Bài tập này là một phần của khóa học

Giới thiệu R cho Tài chính

Xem khóa học

Hướng dẫn bài tập

  • Dùng cùng dữ liệu, loại bỏ các trái phiếu "A" ở vị trí 3 và 7 của credit_factor. Hiện tại, chưa dùng drop = TRUE. Gán kết quả vào keep_level.
  • Vẽ biểu đồ keep_level.
  • Bây giờ, lại loại bỏ "A" khỏi credit_factor, nhưng lần này dùng drop = TRUE. Gán vào drop_level.
  • Vẽ biểu đồ drop_level.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Remove the A bonds at positions 3 and 7. Don't drop the A level.
keep_level <- 

# Plot keep_level


# Remove the A bonds at positions 3 and 7. Drop the A level.
drop_level <-

# Plot drop_level
Chỉnh sửa và Chạy Mã