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

ความลึกของจะงอยปากถ่ายทอดทางพันธุกรรมได้จริงหรือไม่ใน G. scandens?

ค่าการถ่ายทอดทางพันธุกรรมของความลึกจะงอยปากใน G. scandens ดูเหมือนจะต่ำมาก อาจเป็นไปได้ว่าค่านี้เกิดขึ้นโดยบังเอิญ และความลึกของจะงอยปากอาจไม่ได้ถ่ายทอดทางพันธุกรรมอย่างแท้จริงในสปีชีส์นี้ ในแบบฝึกหัดนี้จะทดสอบสมมติฐานดังกล่าวโดยใช้ pairs permutation test

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

Statistical Thinking in Python (ตอนที่ 2)

ดูคอร์ส

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

  • สร้างอาร์เรย์สำหรับเก็บค่า replicate ของการถ่ายทอดทางพันธุกรรม โดยจะใช้ pairs permutation replicate จำนวน 10,000 ครั้ง
  • เขียน for loop เพื่อสร้างค่า replicate
    • สุ่มสลับอาร์เรย์ bd_parent_scandens โดยใช้ np.random.permutation()
    • คำนวณค่าการถ่ายทอดทางพันธุกรรมระหว่างอาร์เรย์ที่สุ่มสลับแล้วกับอาร์เรย์ bd_offspring_scandens โดยใช้ฟังก์ชัน heritability() ที่เขียนไว้ในแบบฝึกหัดที่แล้ว แล้วเก็บผลลัพธ์ลงในอาร์เรย์ replicate
  • คำนวณค่า p-value จากจำนวน replicate ที่มีค่ามากกว่าค่า heritability_scandens ที่สังเกตได้จากแบบฝึกหัดที่แล้ว

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

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

# Initialize array of replicates: perm_replicates
perm_replicates = ____

# Draw replicates
for i in range(10000):
    # Permute parent beak depths
    bd_parent_permuted = ____
    perm_replicates[i] = ____


# Compute p-value: p
p = np.sum(____ >= ____) / len(____)

# Print the p-value
print('p-val =', p)
แก้ไขและรันโค้ด