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

เมื่อ sapply ไม่สามารถย่อผลลัพธ์ได้ จะเกิดอะไรขึ้น?

ดูเหมือนว่า sapply() จะทำได้ดีมากในทุกตัวอย่างที่ผ่านมา โดยสามารถย่อผลลัพธ์ที่ซับซ้อนของ lapply() ให้กระชับขึ้นได้เสมอ แต่ในชีวิตจริง มีบางอย่างที่ย่อให้ง่ายขึ้นไม่ได้ แล้ว sapply() จะรับมืออย่างไร?

เราได้เตรียมฟังก์ชัน below_zero() ไว้ให้แล้ว ฟังก์ชันนี้รับเวกเตอร์ตัวเลขและคืนค่าเฉพาะตัวเลขที่น้อยกว่าศูนย์อย่างเคร่งครัด

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

R ระดับกลาง

ดูคอร์ส

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

  • ใช้ sapply() เรียก below_zero() กับ temp แล้วเก็บผลลัพธ์ไว้ในตัวแปร freezing_s
  • ใช้ lapply() เรียก below_zero() กับ temp แล้วเก็บลิสต์ที่ได้ไว้ในตัวแปร freezing_l
  • เปรียบเทียบ freezing_s กับ freezing_l โดยใช้ฟังก์ชัน identical()

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

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

# temp is already prepared for you in the workspace

# Definition of below_zero()
below_zero <- function(x) {
  return(x[x < 0])
}

# Apply below_zero over temp using sapply(): freezing_s


# Apply below_zero over temp using lapply(): freezing_l


# Are freezing_s and freezing_l identical?
แก้ไขและรันโค้ด