เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เขียนฟังก์ชันของตัวเอง (3)

ยังจำความแตกต่างระหว่างอาร์กิวเมนต์ที่มีและไม่มีค่าเริ่มต้นได้ไหม? ส่วน usage ในเอกสารของ sd() แสดงข้อมูลดังนี้:

sd(x, na.rm = FALSE)

ซึ่งหมายความว่า x ต้องระบุค่าเสมอเพื่อให้ sd() ทำงานได้ถูกต้อง ส่วน na.rm มีค่าเริ่มต้นอยู่แล้ว หากไม่ระบุอาร์กิวเมนต์นี้จะไม่เกิดข้อผิดพลาด

สามารถกำหนดค่าเริ่มต้นให้อาร์กิวเมนต์ในฟังก์ชัน R ของตัวเองได้เช่นกัน โดยใช้รูปแบบดังนี้:

my_fun <- function(arg1, arg2 = val2) {
  body
}

ตัวแก้ไขโค้ดด้านขวามีฟังก์ชัน pow_two() เวอร์ชันที่ขยายเพิ่มเติมจากเดิมให้แล้ว ลองเติมโค้ดส่วนที่เหลือให้สมบูรณ์

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

R ระดับกลาง

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เพิ่มอาร์กิวเมนต์เสริมชื่อ print_info โดยกำหนดให้มีค่าเริ่มต้นเป็น TRUE
  • ครอบฟังก์ชัน print() ด้วยโครงสร้าง if: ฟังก์ชันนี้จะทำงานก็ต่อเมื่อ print_info เป็น TRUE เท่านั้น
  • ลองทดสอบฟังก์ชัน pow_two() ที่เพิ่งเขียนได้เลย

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Finish the pow_two() function
pow_two <- function(x) {
  y <- x ^ 2
  print(paste(x, "to the power two equals", y))
  return(y)
}
แก้ไขและรันโค้ด