ฟังก์ชันซ้อนฟังก์ชัน
การเขียนโค้ดให้สะอาดและกระชับ บางครั้งการใช้ฟังก์ชันซ้อนกันภายในฟังก์ชันอื่นก็เป็นเรื่องที่มีประโยชน์มาก วิธีนี้ช่วยให้นำผลลัพธ์ของฟังก์ชันหนึ่งไปใช้ในอีกฟังก์ชันได้โดยตรง โดยไม่ต้องสร้างตัวแปรคั่นกลาง ที่จริงแล้วเคยเห็นตัวอย่างนี้แล้วกับ 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() ใช้เชื่อม character vector เข้าด้วยกัน และ print() แสดงผลออกทาง console
แบบฝึกหัดนี้จะสำรวจการลดขั้นตอนการคำนวณ correlation matrix โดยใช้ฟังก์ชันซ้อนกัน มีเวกเตอร์ราคาหุ้น 3 ตัวพร้อมให้ใช้งาน ได้แก่ apple, ibm และ micr
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R ระดับกลางสำหรับการเงิน
คำแนะนำการฝึกหัด
- ใช้
cbind()รวมเวกเตอร์ทั้งสามตามลำดับapple,ibm,micrแล้วบันทึกผลลัพธ์ไว้ในตัวแปรstocks - จากนั้นใช้
cor()กับstocks - ทีนี้ลองทำทั้งหมดในขั้นตอนเดียว ใช้
cbind()ซ้อนไว้ภายในcor()โดยใส่เวกเตอร์หุ้นทั้ง 3 ตัวตามลำดับเดิม เพื่อสร้าง correlation matrix
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# cbind() the stocks
stocks <- ___
# cor() to create the correlation matrix
___
# All at once! Nest cbind() inside of cor()
___