함수 안의 함수
깔끔한 코드를 작성하려면, 다른 함수 안에서 함수를 사용하는 것이 유용할 때가 있어요. 이렇게 하면 중간 변수를 만들지 않고도 한 함수의 결과를 바로 다른 함수에 전달할 수 있습니다. 사실 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 중급
연습 안내
- 먼저
apple,ibm,micr순서로cbind()하세요. 결과를stocks로 저장합니다. - 그다음
stocks에cor()를 사용하세요. - 이제 한 번에 처리해 볼게요. 위와 같은 순서로 3개의 주가 벡터에 대해
cor()안에cbind()를 넣어 상관계수 행렬을 만드세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# cbind() the stocks
stocks <- ___
# cor() to create the correlation matrix
___
# All at once! Nest cbind() inside of cor()
___