ฟังก์ชันที่รับหลาย input
หากฟังก์ชันต้องการอาร์กิวเมนต์มากกว่าหนึ่งตัว ให้ระบุทั้งหมดใน function signature โดยคั่นด้วยจุลภาค
ในแบบฝึกหัดนี้ คุณต้องรู้วิธีระบุน้ำหนักการสุ่มให้กับ sample() โดยกำหนดอาร์กิวเมนต์ prob เป็น numeric vector ที่มีความยาวเท่ากับ x แต่ละค่าใน prob คือความน่าจะเป็นในการสุ่มเลือกองค์ประกอบที่สอดคล้องกันใน x ซึ่งผลรวมของทุกค่าต้องเท่ากับ 1 ตัวอย่างด้านล่างนี้ แต่ละค่าที่สุ่มได้มีโอกาส 20% ที่จะเป็น "bat", 30% สำหรับ "cat" และ 50% สำหรับ "rat"
sample(c("bat", "cat", "rat"), 10, replace = TRUE, prob = c(0.2, 0.3, 0.5))
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Writing Functions in R
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
coin_sides <- c("head", "tail")
n_flips <- 10
p_head <- 0.8
# Define a vector of weights
weights <- ___
# Update so that heads are sampled with prob p_head
sample(coin_sides, n_flips, replace = TRUE, ___)