Writing
RstatsStatistics

วิธีการทดสอบ Paired T-Test และ Wilcoxon Signed-Rank Test ในงานเกษตร

วิธีการทดสอบ Paired T-Test และ Wilcoxon Signed-Rank Test ในงานเกษตร

บ่อยครั้งในทางการเกษตร เมื่อเราทำการทดลองเพื่อเปรียบเทียบ “วิธีการใหม่” กับ “วิธีการดั้งเดิมของเกษตรกร” ในระดับการประเมินเทคโนโลยี (Technology Verification)มักเผชิญปัญหาความแปรปรวนของพื้นที่

เนื่องจากสภาพแวดล้อมในแปลงของเกษตรกรแต่ละรายมีความแตกต่างกัน (เช่น แปลงที่ 1 ดินอุดมสมบูรณ์มาก แปลงที่ 10 เป็นดินทรายไม่อุ้มน้ำ) การนำค่าเฉลี่ยของผลผลิตหรือการเจริญเติบโตของทั้ง 12 รายมาเทียบกันโดยตรง อาจทำให้เกิดความคลาดเคลื่อนจากปัจจัยสภาพพื้นที่ได้ นักวิจัยจึงนิยมเลือกใช้ การทดสอบแบบจับคู่ (Paired Comparison) เพื่อลดอคติจากความแตกต่างทางสภาพแวดล้อมเหล่านี้

เลือกใช้สถิติแบบไหนดี?

ในการวิเคราะห์ข้อมูลแบบจับคู่ เรามักจะเลือกระหว่างสถิติ 2 ตัวหลักๆ ขึ้นอยู่กับลักษณะการแจกแจงของข้อมูล (Data Distribution):

  1. Paired T-test (Parametric): หากข้อมูลที่เก็บมา (เช่น ผลผลิตต่อไร่, ความสูงของต้น) มีการกระจายตัวแบบปกติ (Normal Distribution) สถิติตัวนี้จะช่วยให้นักวิจัยมองเห็น “ส่วนต่างเฉลี่ย” ที่เพิ่มขึ้นหรือลดลงอย่างชัดเจน
  2. Wilcoxon Signed-Rank Test (Non-parametric): หากข้อมูลเป็นประเภทลำดับขั้น (Ordinal) เช่น คะแนนความเข้มของสีใบ (ระดับ 1-6) หรือข้อมูลที่มีการแจกแจงไม่ปกติ (Non-normal Distribution) เพราะสามารถช่วยยืนยันได้ว่า “วิธีใหม่” ให้ผลลัพธ์ที่ดีกว่า “วิธีของเกษตรกร” อย่างมีนัยสำคัญหรือไม่ โดยไม่ต้องสนใจ assumption เรื่องการแจกแจงปกติ

ตัวอย่างการวิเคราะห์ด้วย R (R Code Example)

ด้านล่างนี้คือตัวอย่างการจำลองข้อมูลเปรียบเทียบคะแนนความเข้มสีใบพืช (ระดับ 1-6) ระหว่างวิธีของเกษตรกรและวิธีการใหม่ พร้อมการแสดงผลด้วยกราฟและการตั้งสมมติฐานทางสถิติ

# โหลดแพ็กเกจที่จำเป็นสำหรับการจัดการข้อมูลและสร้างกราฟ
library(dplyr)
library(tidyr)
library(ggplot2)

# 1. เตรียมข้อมูลจำลอง (Mockup Data)
# สมมติเราลงพื้นที่ประเมินเกษตรกร 12 ราย วัดค่าความเข้มสีใบ (คะแนน 1-6)
set.seed(123) # ล็อคค่าสุ่มเพื่อให้ผลรันเหมือนเดิมทุกครั้ง

data <- data.frame(
  Farmer_ID = paste0("Farmer_", 1:12),
  Farmer_Method = c(3, 4, 3, 2, 4, 3, 3, 4, 2, 3, 4, 3), # วิธีของเกษตรกร
  Our_Method = c(4, 5, 4, 3, 5, 4, 4, 6, 3, 4, 5, 4)     # วิธีการทดลองใหม่
)

# 2. จัดรูปแบบข้อมูลดิบจาก Wide เป็น Long format สำหรับสร้างกราฟ
data_long <- data %>%
  pivot_longer(cols = c("Farmer_Method", "Our_Method"),
               names_to = "Method",
               values_to = "Score") %>%
  mutate(Method = factor(Method, levels = c("Farmer_Method", "Our_Method"),
                         labels = c("วิธีเกษตรกร", "วิธีใหม่")))

# 3. สร้างกราฟแสดงผลแบบคู่ (Slope Graph / Paired Plot)
# ช่วยให้เห็นแนวโน้มการเปลี่ยนแปลงของเกษตรกรแต่ละรายได้ชัดเจนขึ้น
ggplot(data_long, aes(x = Method, y = Score, group = Farmer_ID)) +
  geom_point(aes(color = Method), size = 4, alpha = 0.8) +
  geom_line(color = "gray60", alpha = 0.6, linewidth = 0.8) +
  theme_minimal(base_size = 14) +
  labs(title = "เปรียบเทียบระดับความเข้มสีใบของพืช (รายแปลง)",
       subtitle = "เส้นเชื่อมแสดงความแตกต่างภายในแปลงของเกษตรกรรายเดียวกัน",
       x = "วิธีการปลูก",
       y = "คะแนนความเข้มสีใบ (1-6)") +
  scale_color_manual(values = c("วิธีเกษตรกร" = "#E69F00", "วิธีใหม่" = "#009E73")) +
  theme(legend.position = "none")

# 4. การประเมินผลทางสถิติ
# เนื่องจากข้อมูลลักษณะนี้เป็นระดับคะแนน (Ordinal score 1-6)
# การใช้ Wilcoxon Signed-Rank Test แบบจับคู่จึงเป็นวิธีที่เหมาะสมที่สุด
wilcox_result <- wilcox.test(data$Our_Method, data$Farmer_Method, paired = TRUE)
wilcox_result

# อย่างไรก็ตาม หากข้อมูลเป็นตัวเลขความต่อเนื่อง (เช่น น้ำหนัก, ส่วนสูง)
# และแจกแจงแบบปกติ สามารถใช้ Paired t-test ได้ดังนี้
t_result <- t.test(data$Our_Method, data$Farmer_Method, paired = TRUE)
t_result

การแปลผลลัพธ์ (Interpretation)

จากโค้ดด้านบน หากค่า p-value ที่ได้จากสถิติ wilcox.test หรือ t.test มีค่าน้อยกว่าระดับนัยสำคัญที่เราตั้งไว้ (เช่น p < 0.05) สามารถสรุปได้ว่า “วิธีการใหม่” ทำให้พืชมีแนวโน้มความเข้มสีใบสูงกว่า “วิธีการของเกษตรกร” อย่างมีนัยสำคัญทางสถิติ ซึ่งเป็นหลักฐานที่ช่วยยืนยันความสำเร็จของการทดสอบเทคโนโลยีนี้ได้อย่างเป็นรูปธรรม