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

Lặp qua các phần tử của ma trận

Cho đến giờ, bạn mới chỉ lặp qua các kiểu dữ liệu 1 chiều. Nếu muốn lặp qua các phần tử trong một ma trận (cột và hàng), bạn sẽ phải dùng các vòng lặp lồng nhau. Bạn sẽ áp dụng ý tưởng này để in ra hệ số tương quan giữa ba cổ phiếu.

Cách dễ hình dung nhất là: bạn bắt đầu ở row1 và di chuyển sang phải, lần lượt qua col1, col2, … cho đến cột cuối cùng của row1. Sau đó, bạn di chuyển xuống row2 và lặp lại quá trình.

my_matrix
     [,1]   [,2]  
[1,] "r1c1" "r1c2"
[2,] "r2c1" "r2c2"

# Loop over my_matrix
for(row in 1:nrow(my_matrix)) {
    for(col in 1:ncol(my_matrix)) {
        print(my_matrix[row, col])
    }
}
[1] "r1c1"
[1] "r1c2"
[1] "r2c1"
[1] "r2c2"

Ma trận tương quan corr đã được cung cấp để bạn sử dụng.

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

R trung cấp cho Tài chính

Xem khóa học

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

  • In corr để xem nhanh dữ liệu.
  • Hoàn thiện vòng lặp for lồng nhau! Yêu cầu:
    • Vòng lặp ngoài chạy qua các row của corr.
    • Vòng lặp trong chạy qua các col của corr.
    • Lệnh in phải in tên của cột và hàng hiện tại, đồng thời in cả hệ số tương quan của chúng.

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.

# Print out corr
___

# Create a nested loop
for(row in 1:nrow(___)) {
    for(col in 1:___(corr)) {
        print(paste(colnames(corr)[___], "and", rownames(corr)[___], 
                    "have a correlation of", corr[row,col]))
    }
}
Chỉnh sửa và Chạy Mã