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
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
rowcủacorr. - Vòng lặp trong chạy qua các
colcủacorr. - 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.
- Vòng lặp ngoài chạy qua các
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]))
}
}