Функции внутри функций
Чтобы писать чистый код, иногда удобно вызывать функции внутри других функций. Это позволяет использовать результат одной функции непосредственно в другой — без создания промежуточной переменной. Вы уже сталкивались с таким подходом на примере 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()
___