ข้าวสวย — R Package สำหรับวิเคราะห์ข้อมูลการทดลองทางเกษตรกรรมในบริบทของไทย เปลี่ยนข้อมูลดิบให้กลายเป็นรายงานสถิติที่พร้อมใช้งาน เหมือนข้าวสวยหุงสุกใหม่ที่พร้อมเสิร์ฟ
ทำไมต้อง khaosuay (ข้าวสวย)?
การวิเคราะห์สถิติทางการเกษตร (เช่น RCBD, Split-plot) มักมีความยุ่งยากในการเตรียมข้อมูล ตรวจสอบข้อตกลงเบื้องต้นทางสถิติ (Assumptions) และการสร้างกราฟเพื่อเขียนรายงาน khaosuay จึงเกิดขึ้นมาเพื่อ:
- ลดขั้นตอนที่ซับซ้อน — เปลี่ยน syntax ยาก ๆ ให้เป็นฟังก์ชันที่เข้าใจง่ายในคอนเซปต์การ “หุงข้าว”
- ทำงานต่อเนื่อง (Pipeline) — ส่งต่อข้อมูลจากขั้นตอนทำความสะอาด ไปทดสอบสถิติ ไปวิเคราะห์ เเละไปวาดกราฟ ได้อย่างลื่นไหล
- รองรับภาษาไทย — แก้ไขปัญหาการอ่านชื่อคอลัมน์ภาษาไทยแบบอัตโนมัติ
การติดตั้ง
ติดตั้งเวอร์ชันล่าสุดจาก GitHub โดยใช้แพ็กเกจ devtools หรือ pak:
# ผ่าน devtools
# install.packages("devtools")
devtools::install_github("kanthjs/KhaoSuay")
# หรือผ่าน pak
# install.packages("pak")
pak::pak("kanthjs/KhaoSuay")Workflow การหุงข้าว 4 ขั้นตอน
การใช้ khaosuay ง่ายเหมือนการหุงข้าวหนึ่งหม้อ โดยแบ่งเป็น 4 ขั้นตอนหลัก:
| ขั้นตอน | ฟังก์ชัน | คำอุปมา | หน้าที่ |
|---|---|---|---|
| 1 | wash_rice() |
ซาวข้าว | ทำความสะอาดข้อมูล ตรวจ outlier และแปลงชนิดตัวแปร |
| 2 | taste_rice() |
ชิมข้าว | ตรวจ Assumptions (Normality, Equal Variance) |
| 3 |
cook_crd() / cook_rcbd() / cook_split()
|
หุงข้าว | วิเคราะห์สถิติตามแผนการทดลอง เลือกระบบ Parametric/Non-parametric อัตโนมัติ |
| 4 | plot_cooked() |
จัดจาน | สร้างกราฟสรุปผลพร้อมตัวอักษรทางสถิติ (a, b, c) แบบ publication-ready |
ตัวอย่างการใช้งานด่วน (Quick Start)
สมมติว่าคุณมีข้อมูลผลผลิตข้าว (yield) จากการทดลองแบบ CRD ที่มี 4 สิ่งทดลอง (variety):
library(khaosuay)
# 1. ซาวข้าว (ทำความสะอาดข้อมูล)
washed <- wash_rice(
data = my_data,
treatment_col = "variety",
rep_col = "rep",
design_check = TRUE
)
# 2. ชิมข้าว (ตรวจสอบสถิติพื้นฐาน Normality & Variance)
tasted <- taste_rice(
data = washed,
response = "yield",
treatment = "variety",
mode = "both"
)
# 3. หุงข้าว (วิเคราะห์ ANOVA หรือ Kruskal-Wallis อัตโนมัติจากผลการชิม)
cooked <- cook_crd(
data = washed,
response = "yield",
treatment = "variety",
tasted = tasted
)
# 4. จัดจาน (วาดกราฟแท่งหรือ Boxplot พร้อมตัวอักษร)
plot <- plot_cooked(
cooked = cooked,
response = "yield",
y_label = "Yield (kg/rai)",
x_label = "Rice Variety"
)สรุปความสามารถหลักของฟังก์ชัน
1. wash_rice() — การซาวข้าว
- Smart Alias: ค้นหาคอลัมน์ “ซ้ำ”, “สายพันธุ์”, “Treatment” ภาษาไทยและอังกฤษอัตโนมัติ
- Outlier Detection: ตรวจหาค่าที่ผิดปกติด้วย IQR หรือ Z-score
- Domain Range: เตือนเมื่อพบค่าที่อยู่นอกเหนือช่วงที่เป็นไปได้จริง (เช่น เปอร์เซ็นต์ความรุนแรงโรคไม่ควรเกิน 100)
- Design Check: ตรวจสอบความสมดุล (Balance) ของแผนการทดลอง
2. taste_rice() — การชิมข้าว
- ตรวจสอบ Normality ด้วย Shapiro-Wilk test
- ตรวจสอบ Equal Variance ด้วย Levene’s test (Brown-Forsythe)
- สรุปผลเป็นคำแนะนำว่าควรใช้ Parametric (เช่น ANOVA) หรือ Non-parametric (เช่น Kruskal-Wallis)
3. cook_*() — การหุงข้าว
มีหม้อหุงข้าว 3 แบบรองรับงานวิจัย ได้แก่ cook_crd(), cook_rcbd(), และ cook_split() - เปลี่ยนผ่านพฤติกรรมระหว่าง Parametric และ Non-parametric ได้อัตโนมัติจากคำแนะนำของ taste_rice() - มีผลลัพธ์เป็นตาราง Summary สถิติที่หาค่า Mean, SD, SE, CV% พร้อมจัดกลุ่มตัวอักษร Post-hoc (เช่น Tukey HSD หรือ Dunn’s test) เสร็จสรรพ
เอกสารอ้างอิงและคู่มือ (Documentation)
สามารถอ่านคู่มือฉบับเต็มและรายละเอียดเพิ่มเติมของการวิเคราะห์แต่ละแผนการทดลองได้ที่หน้าเว็บไซต์ Pkgdown (อยู่ระหว่างการพัฒนา) หรือพิมพ์ ?wash_rice, ?taste_rice, ?cook_rcbd ใน R Console.
