Цикл по элементам матрицы
До сих пор вы работали с одномерными структурами данных. Если нужно перебрать элементы матрицы (по строкам и столбцам), потребуются вложенные циклы. С их помощью вы выведете корреляции между тремя акциями.
Проще всего представить это так: вы начинаете с первой строки и движетесь вправо, проходя col1, col2, … до последнего столбца. Затем переходите ко второй строке и повторяете процесс.
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"
Матрица корреляций corr уже доступна для использования.
Это упражнение является частью курса
Средний уровень R для финансов
Инструкции к упражнению
- Выведите
corr, чтобы посмотреть на данные. - Заполните вложенный цикл
for! Он должен удовлетворять следующим условиям:- Внешний цикл — по строкам (
row) матрицыcorr. - Внутренний цикл — по столбцам (
col) матрицыcorr. - Оператор вывода должен печатать названия текущего столбца и строки, а также их корреляцию.
- Внешний цикл — по строкам (
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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]))
}
}