НачатьНачать бесплатно

Цикл по элементам матрицы

До сих пор вы работали с одномерными структурами данных. Если нужно перебрать элементы матрицы (по строкам и столбцам), потребуются вложенные циклы. С их помощью вы выведете корреляции между тремя акциями.

Проще всего представить это так: вы начинаете с первой строки и движетесь вправо, проходя 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]))
    }
}
Редактировать и запускать код