One Way Analysis of Variance dengan R |
Halo teman-teman, sepertinya ada bagian fundamental yang kita lewati dalam proses belajar dan berbagi dalam blog ini, yaitu pembahasan mengenai analysis of variance atau yang biasa disebut Anova. Tapi tidak apa-apa, kita coba secara perlahan membahas beberapa bentuk Anova yang biasa digunakan dalam penelitian berjenis eksperimen ini.
Yang pertama akan kita bahas bersama adalah bentuk paling sederhana dari Anova, yaitu Anova satu arah (One Way Anova). Perihal teori, saya rasa teman-teman apalagi yang sudah berkecimpung di dunia data science pasti telah paham bahkan bisa jadi sudah di luar kepala. Yang mau saya tekankan dalam pembahasan kali ini adalah mengenai prinsip kita menggunakan one way Anova saja.
Jadi, one way Anova ini merupakan alat analisis ragam yang digunakan dalam pengujian hipotesis apakah terdapat perbedaan rata-rata di antara tiga atau bahkan lebih kelompok sampel (contoh) perlakuan (treatment). Rata-rata dalam hal ini merupakan ukuran-ukuran yang diperoleh dari setiap kelompok perlakuan, misalnya berat, tinggi, pendapatan, pengeluaran, pertumbuhan ekonomi, harga tiket, atau ukuran lainnya.
Adapun hipotesis yang digunakan dalam Anova Satu Arah ini secara redaksi dituliskan berikut:
H0 : rata-rata kelompok 1 = rata-rata kelompok 2 = ... = kelompok ke-k
H1: minimal terdapat satu rata-rata ke-i yang tidak sama
di mana n = 1, 2, 3, ..., i, ..., k
Lantas, bagaimana penerapan one way Anova dengan menggunakan R? Kali ini kita akan mencoba mempraktikkannya dengan menggunakan data yang telah saya siapkan. Data ini merupakan data hasil pengukuran berat badan itik menurut kelompok atau jenis pakannya. Teman-teman dapat mengunduhnya terlebih dulu pada tautan berikut. Setelah datanya diunduh, kita dapat mempraktikkannya menggunakan beberapa code berikut:
#Import Data
library(readxl)
chickwts <- read_excel("chickwts.xlsx")
#Melihat Data
chickwts
## # A tibble: 71 x 2
## berat pakan
## <dbl> <chr>
## 1 179 horsebean
## 2 160 horsebean
## 3 136 horsebean
## 4 227 horsebean
## 5 217 horsebean
## 6 168 horsebean
## 7 108 horsebean
## 8 124 horsebean
## 9 143 horsebean
## 10 140 horsebean
## # ... with 61 more rows
#Mengattach Data
attach(chickwts)
## The following objects are masked from chickwts (pos = 4):
##
## berat, pakan
#Melihat Ringkasan Data
summary(chickwts)
## berat pakan
## Min. :108.0 Length:71
## 1st Qu.:204.5 Class :character
## Median :258.0 Mode :character
## Mean :261.3
## 3rd Qu.:323.5
## Max. :423.0
#Uji Kenormalan Data dengan uji Shapiro Wilks untuk data kecil
by (data = berat, INDICES = pakan, FUN = shapiro.test)
## pakan: casein
##
## Shapiro-Wilk normality test
##
## data: dd[x, ]
## W = 0.91663, p-value = 0.2592
##
## ------------------------------------------------------------------------------------------
## pakan: horsebean
##
## Shapiro-Wilk normality test
##
## data: dd[x, ]
## W = 0.93758, p-value = 0.5264
##
## ------------------------------------------------------------------------------------------
## pakan: linseed
##
## Shapiro-Wilk normality test
##
## data: dd[x, ]
## W = 0.96931, p-value = 0.9035
##
## ------------------------------------------------------------------------------------------
## pakan: meatmeal
##
## Shapiro-Wilk normality test
##
## data: dd[x, ]
## W = 0.97914, p-value = 0.9612
##
## ------------------------------------------------------------------------------------------
## pakan: soybean
##
## Shapiro-Wilk normality test
##
## data: dd[x, ]
## W = 0.9464, p-value = 0.5064
##
## ------------------------------------------------------------------------------------------
## pakan: sunflower
##
## Shapiro-Wilk normality test
##
## data: dd[x, ]
## W = 0.92809, p-value = 0.3603
#Terlihat bahwa semua kelompok mengikuti distribusi Normal dengan p-value > 0,05 atau alpha
#Uji Kesamaan Varians
#Uji Bartlett data yang digunakan harus mengikuti distribusi normal
bartlett.test(berat~pakan)
##
## Bartlett test of homogeneity of variances
##
## data: berat by pakan
## Bartlett's K-squared = 3.2597, df = 5, p-value = 0.66
#Uji Levene untuk data yang tidak harus mengikuti distribusi normal
library(car)
leveneTest(berat, pakan)
## Warning in leveneTest.default(berat, pakan): pakan coerced to factor.
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 5 0.7493 0.5896
## 65
#Terlihat bahwa varians data Homogen dengan p-value > 0,05
#Uji Anova 1 arah
anova1arah <- aov(berat~pakan)
anova1arah
## Call:
## aov(formula = berat ~ pakan)
##
## Terms:
## pakan Residuals
## Sum of Squares 231129.2 195556.0
## Deg. of Freedom 5 65
##
## Residual standard error: 54.85029
## Estimated effects may be unbalanced
#Ringkasan Tabel Anova dan Signifikansinya
summary(anova1arah)
## Df Sum Sq Mean Sq F value Pr(>F)
## pakan 5 231129 46226 15.37 5.94e-10 ***
## Residuals 65 195556 3009
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Terlihat bahwa p-value uji F signifikan yang artinya terdapat perbedaan rata-rata berat itik di setiap kelompok perlakukan atau jenis pakannya
#Kalau Uji F Signifikan kita cari mana yang berbeda dengan uji Tukey
TukeyHSD(anova1arah)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = berat ~ pakan)
##
## $pakan
## diff lwr upr p adj
## horsebean-casein -163.383333 -232.346876 -94.41979 0.0000000
## linseed-casein -104.833333 -170.587491 -39.07918 0.0002100
## meatmeal-casein -46.674242 -113.906207 20.55772 0.3324584
## soybean-casein -77.154762 -140.517054 -13.79247 0.0083653
## sunflower-casein 5.333333 -60.420825 71.08749 0.9998902
## linseed-horsebean 58.550000 -10.413543 127.51354 0.1413329
## meatmeal-horsebean 116.709091 46.335105 187.08308 0.0001062
## soybean-horsebean 86.228571 19.541684 152.91546 0.0042167
## sunflower-horsebean 168.716667 99.753124 237.68021 0.0000000
## meatmeal-linseed 58.159091 -9.072873 125.39106 0.1276965
## soybean-linseed 27.678571 -35.683721 91.04086 0.7932853
## sunflower-linseed 110.166667 44.412509 175.92082 0.0000884
## soybean-meatmeal -30.480519 -95.375109 34.41407 0.7391356
## sunflower-meatmeal 52.007576 -15.224388 119.23954 0.2206962
## sunflower-soybean 82.488095 19.125803 145.85039 0.0038845
#Ternyata yang membuat signifikan uji F sebagai contoh untuk kelompok pakan horsebean dan casein dengan p-value adjusted 0,0000 atau < 0,05
Demikian sekilas pembahasan kita mengenai one way Anova dengan menggunakan R. Selamat memahami dan mempraktikkan untuk kebutuhan analisis dan eksperimen.