Hàm trong hàm
Để viết mã gọn gàng, đôi khi bạn nên dùng hàm bên trong hàm khác. Cách này cho phép bạn lấy kết quả của một hàm đưa thẳng vào hàm khác mà không cần tạo biến trung gian. Thực ra bạn đã thấy ví dụ với print() và paste() rồi.
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() ghép các vector ký tự lại với nhau, còn print() in chúng ra console.
Bài tập dưới đây minh họa cách đơn giản hóa việc tính ma trận tương quan bằng các hàm lồng nhau. Ba vector giá cổ phiếu, apple, ibm và micr, đã được cung cấp để bạn sử dụng.
Bài tập này là một phần của khóa học
R trung cấp cho Tài chính
Hướng dẫn bài tập
- Trước tiên, dùng
cbind()để ghép chúng theo thứ tựapple,ibm,micr. Lưu lại thànhstocks. - Sau đó, dùng
cor()trênstocks. - Giờ hãy làm tất cả trong một bước. Dùng
cbind()bên trongcor()với 3 vector cổ phiếu theo đúng thứ tự như trên để tạo ma trận tương quan.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# cbind() the stocks
stocks <- ___
# cor() to create the correlation matrix
___
# All at once! Nest cbind() inside of cor()
___