data_panen <- data.frame(
Pupuk = rep(c("A", "B", "C"), each = 10),
Hasil = c(rnorm(10, mean = 6, sd = 0.5),
rnorm(10, mean = 7, sd = 0.5),
rnorm(10, mean = 8, sd = 0.5))
)
data_panen
## Pupuk Hasil
## 1 A 6.475007
## 2 A 6.517252
## 3 A 6.461461
## 4 A 5.249366
## 5 A 5.500162
## 6 A 6.078959
## 7 A 6.110409
## 8 A 5.541260
## 9 A 5.757883
## 10 A 5.664780
## 11 B 8.356760
## 12 B 6.633095
## 13 B 7.149304
## 14 B 6.374856
## 15 B 7.158134
## 16 B 7.027900
## 17 B 6.305832
## 18 B 7.107645
## 19 B 7.133409
## 20 B 6.337847
## 21 C 7.735703
## 22 C 7.833656
## 23 C 8.586099
## 24 C 8.107029
## 25 C 7.500562
## 26 C 8.218103
## 27 C 7.875385
## 28 C 7.694598
## 29 C 8.388435
## 30 C 7.478235
Kita akan menganalisis apakah ada perbedaan hasil panen antar jenis pupuk.
anova_result <- aov(Hasil ~ Pupuk, data = data_panen)
summary(anova_result)
## Df Sum Sq Mean Sq F value Pr(>F)
## Pupuk 2 20.125 10.06 41.98 5.17e-09 ***
## Residuals 27 6.472 0.24
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Hasil summary akan memberikan:
Nilai F (uji signifikansi)
P-value (jika <0.05 → signifikan)
Df (degree of freedom)
Visualisasi dengan boxplot:
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
ggplot(data_panen, aes(x = Pupuk, y = Hasil, fill = Pupuk)) +
geom_boxplot() +
labs(title = "Hasil Panen per Jenis Pupuk",
x = "Jenis Pupuk",
y = "Hasil Panen (ton/ha)") +
theme_minimal()
Dari boxplot di atas, terlihat perbedaan distribusi hasil panen untuk
tiga jenis pupuk: A, B, dan C.
📈 Pupuk A Rata-rata hasil panen lebih rendah dibandingkan pupuk lain (sekitar 6 ton/ha). Variasi (lebar boxplot) cukup kecil, artinya data lebih homogen. Tidak ada outlier ekstrem, distribusi relatif stabil.
📈 Pupuk B Rata-rata hasil panen lebih tinggi dari A (sekitar 7 ton/ha). Terdapat outlier di bawah distribusi utama (titik hitam), menunjukkan ada satu percobaan dengan hasil rendah. Variasi data lebih kecil dibandingkan pupuk C.
📈 Pupuk C Rata-rata hasil panen paling tinggi (sekitar 8 ton/ha). Variasi data sedikit lebih besar dibandingkan A dan B, namun cenderung stabil. Tidak ada outlier yang signifikan.
📌 Kesimpulan Visual ✅ Ada perbedaan rata-rata hasil panen yang cukup jelas antara jenis pupuk. ✅ Pupuk C terlihat memberikan hasil panen tertinggi. ✅ Pupuk A paling rendah hasil panennya. ✅ Variasi dalam grup relatif kecil, artinya perlakuan cukup konsisten.
✅ Normalitas residual → cek dengan Q-Q plot:
plot(anova_result, which = 2)
📌 Q-Q Plot Residuals (/br) Plot Q-Q (Quantile-Quantile) residuals
digunakan untuk memeriksa apakah asumsi normalitas residual pada
analisis ANOVA terpenuhi. (/br) 📌 Penjelasan Plot (/br) Sumbu X:
Theoretical quantiles (nilai-nilai teoretis dari distribusi normal
standar). (/br) Sumbu Y: Standarized residuals (selisih antara nilai
aktual dan nilai yang diprediksi oleh model, di-standardisasi).
(/br)
📌 Interpretasi (/br) ✅ Titik-titik mengikuti garis diagonal → menunjukkan bahwa residual mendekati distribusi normal. (/br) ✅ Sedikit deviasi di ujung → wajar, tetapi tidak terlalu ekstrem, sehingga asumsi normalitas relatif tidak dilanggar. (/br) ✅ Tidak ada pola yang sangat melengkung atau terputus dari garis → mendukung asumsi ANOVA bahwa residual terdistribusi normal. (/br)
plot(anova_result, which = 1)
Plot ini digunakan untuk memeriksa homogenitas varians (homoskedastisitas) pada residual analisis ANOVA. Plot ini juga dapat membantu mendeteksi pola non-linear atau outlier yang signifikan. (/br)
📌 Penjelasan Plot (/br) Sumbu X: Nilai fitted (nilai prediksi hasil panen oleh model). (/br) Sumbu Y: Nilai residual (selisih antara hasil aktual dan hasil prediksi). (/br)
📌 Interpretasi (/br) ✅ Pola titik-titik: Titik-titik residual tersebar secara acak di sekitar garis horizontal (y=0) — ini menunjukkan homogenitas varians terpenuhi. (/br) ✅ Tidak ada pola sistematis (misalnya bentuk kipas atau kurva) → model ANOVA sudah sesuai. (/br) ✅ Sebagian titik berada di luar ±1 → wajar karena ada variasi alami antar sampel.