Session Ready
Exercise

Lọc dữ liệu trong ma trận

Cũng giống như khi làm việc với véc-tơ, ta có thể sử dụng các dấu ngoặc vuông [ ] để lọc một hoặc nhiều dữ liệu từ một ma trận. Điểm khác biệt giữa véc-tơ và ma trận là véc-tơ chỉ có một chiều, trong khi ma trận thì có 2 chiều. Vì vậy, ta sẽ sử dụng dấu phẩy để phân biệt giữa dữ liệu được chọn theo dòng và dữ liệu được chọn theo cột. Xem các ví dụ sau:

  • Câu lệnh my_matrix[1,2] sẽ chọn dữ liệu ở dòng thứ nhất và cột thứ hai.
  • Câu lệnh my_matrix[1:3,2:4] sẽ cho ra kết quả một ma trận gồm dữ liệu của dòng thứ 1, 2, 3 và cột thứ 2, 3, 4.

Nếu bạn muốn chọn tất cả các dữ liệu của một dòng hoặc một cột, bạn chỉ cần để trống phần phía trước hoặc phía sau dấu phẩy, theo đúng thứ tự trên:

  • my_matrix[,1] chọn tất cả các dữ liệu thuộc cột thứ nhất.
  • my_matrix[1,] chọn tất cả các dữ liệu thuộc dòng thứ nhất.

Chúng ta hãy cùng trở lại với ví dụ Star Wars nhé! Giống với bài tập trước, bạn đã được cho sẵn all_wars_matrix trong workspace.

Instructions
100 XP
  • Chọn doanh thu ngoài nước Mỹ của tất cả các bộ phim (đồng nghĩa với lấy toàn bộ cột thứ hai của all_wars_matrix), gán kết quả cho non_us_all.
  • Sử dụng lệnh mean() cho non_us_all để tính doanh thu trung bình ở ngoài Mỹ của tất cả các bộ phim. Sau đó hiển thị kết quả đã tính được.
  • Tiếp đến, lọc ra doanh thu ngoài nước Mỹ của 2 tập phim đầu tiên trong all_wars_matrix. Gán kết quả đó cho non_us_some.
  • Sử dụng lệnh mean() để tính trung bình các giá trị trong non_us_some.