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

Функции внутри функций

Чтобы писать чистый код, иногда удобно вызывать функции внутри других функций. Это позволяет использовать результат одной функции непосредственно в другой — без создания промежуточной переменной. Вы уже сталкивались с таким подходом на примере print() и paste().

company <- c("Goldman Sachs", "J.P. Morgan", "Fidelity Investments")

for(i in 1:3) {
    print(paste("A large financial institution is", company[i]))
}
[1] "A large financial institution is Goldman Sachs"
[1] "A large financial institution is J.P. Morgan"
[1] "A large financial institution is Fidelity Investments"

paste() объединяет символьные векторы в одну строку, а print() выводит результат в консоль.

В этом упражнении вы упростите вычисление матрицы корреляций с помощью вложенных функций. Для работы вам доступны три вектора цен акций: apple, ibm и micr.

Это упражнение является частью курса

Средний уровень R для финансов

Посмотреть курс

Инструкции к упражнению

  • Сначала объедините их с помощью cbind() в порядке apple, ibm, micr. Сохраните результат в переменную stocks.
  • Затем примените функцию cor() к stocks.
  • Теперь выполните всё за один шаг. Вызовите cbind() внутри cor(), передав три вектора акций в том же порядке, чтобы получить матрицу корреляций.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# cbind() the stocks
stocks <- ___

# cor() to create the correlation matrix
___

# All at once! Nest cbind() inside of cor()
___
Редактировать и запускать код