การ Refactor: ฟังก์ชัน
การคัดลอกและวางโค้ดครั้งเดียวยังพอรับได้ แต่ถ้าทำถึงสามครั้งมักเป็นสัญญาณว่ามีบางอย่างผิดปกติ
โค้ดที่กำหนดให้จะคำนวณช่วงความเชื่อมั่น 95% โดยประมาณสำหรับตัวแปร x และ y
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียน R แบบ Defensive Programming
คำแนะนำการฝึกหัด
- สร้างฟังก์ชันชื่อ
ci()โดยรับอาร์กิวเมนต์เดียวชื่อvaluesและไม่มีค่าเริ่มต้น - ให้ฟังก์ชันคืนค่าช่วงความเชื่อมั่น 95%
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
n <- length(x); m <- mean(x); s <- sd(x)
c(m - 1.96 * s / sqrt(n), m + 1.96 * s / sqrt(n))
n <- length(y); m <- mean(y); s <- sd(y)
c(m - 1.96 * s/sqrt(n), m + 1.96 * s/sqrt(n))
# Define a function to prevent pasting the code above
ci <- function(values) {
n <- length(values)
m <- ___
s <- ___
c(m - ___, m + ___)
}