Tulisan ini memuat panduan analisis ragam satu arah (ANOVA 1 jalur/one-way ANOVA) dengan menggunakan contoh fiktif. Sebelum menggunakan kode R di bawah ini, penting untuk diketahui bahwa sebelum melakukan analisis ragam satu arah, asumsi untuk analisis tersebut diperiksa terlebih dahulu. Asumsi tersebut yaitu kehomogenan ragam dan kenormalan distribusi data. Jika data tidak terdistribusi normal, maka lakukan transformasi data terlebih dahulu. Transformasi data yang biasa dilakukan misalnya transformasi logaritmik.
Panduan untuk analisis ragam satu arah menggunakan tiga paket R, yaitu car, agricolae dan ggpubr. Jika akan melakukan analisis ini di laptop atau komputer Anda, pastikan bahwa ketiga paket tersebut telah terpasang.
PENTING
Untuk menggunakan panduan ini, pertama jalankan program R Studio, lalu klik File - New File - R script. Setelah itu, ketik kode R di tiap blok abu-abu yang tertera di bawah ini. Untuk mengoperasikan kode di tiap baris, arahkan pointer di awal kode atau di akhir kode kemudian tekan tombol ctrl (control) bersamaan dengan menekan tombol enter. Alternatif lainnya klik Run yang ada di bagian kanan atas panel source (panel kiri atas).
Hasil operasi dari kode R akan muncul di bagian panel console (panel di bagian kiri bawah) atau panel fitur (panel di bagian kanan bawah) jika hasil berupa grafik. Jika pekerjaan Anda sudah selesai, klik File dan pilih Save. Simpan hasil pekerjaan Anda di folder yang Anda inginkan.
Memuat paket
# Jangan lupa pasang paket di bawah ini terlebih dahulu sebelum menjalankan kode library.
library(car) # paket untu uji asumsi dan ANOVA 1 Jalur
## Loading required package: carData
library(agricolae) # paket untuk uji lanjut
library(ggpubr) # paket menyusun grafik
## Loading required package: ggplot2
Menyusun dataset
Dataset dapat disusun langsung di R jika titik data tidak terlalu banyak. Walaupun demikian disarankan agar dataset dibuat terlebih dahulu di program Excel atau yang sejenisnya jika variabel yang akan dianalisis lebih dari satu dan titik data perlu dilakukan transformasi logaritmik atau bentuk transformasi data lainnya.
Dalam panduan ini, dataset dibuat langsung di R dan kemudian ditransformasi ke dalam format csv dengan menggunakan R. Jika Anda sudah memiliki data yang telah disusun di Excel atau program sejenisnya dan disimpan dalam format .csv, maka lewati tahapan “Menyusun dataset” dan langsung mulai dari “Memuat data”.
Data yang akan dianalisis di panduan ini merupakan data buatan. Seorang peneliti akan membandingkan berat sapi limosin (kg) yang diberi pakan berbeda. Penimbangan berat sapi dilakukan setelah dipelihara dari lahir hingga berumur 3 bulan.
# Menyusun dataset
# Jika ulangan berbeda tiap kelompok maka ubah nilai ulangan di setiap kelompok)
Pakan <- c(rep("Pakan 1", 5), rep("Pakan 2", 5), rep("Pakan 3", 5))
# Nilai berat dimasukkan melalui kode ini
Berat <- c(122, 131, 128, 120, 134, 133, 137, 141, 147, 149, 137, 142, 147, 151, 153)
# Kode untuk menentukan Pakan sebagai faktor
Pakan <- factor(Pakan)
# Kode untuk menyusun dataset
data <- data.frame(Pakan, Berat)
# Mengubah dataset ke dalam format .csv dan menyimpannya di salah satu folder di komputer atau laptop
## Di panduan ini, folder penyimpanan dataset adalah Kode R
### folder path dari file .csv adalah C:/DATA/Untan/Lab Ekologi/Pelatihan R/Kode R/
write.csv(data, "C:/DATA/Untan/Lab Ekologi/Pelatihan R/Kode R/sapi.csv")
Memuat data
# Pengaturan direktori/folder kerja (tempat penyimpanan file .csv)
setwd("C:/DATA/Untan/Lab Ekologi/Pelatihan R/Kode R/")
# Memanggil data dan mengganti namanya menjadi df
df <- read.csv("sapi.csv")
Pemeriksaan varians (Uji Levene’s)
Bagian ini menunjukan kode untuk pemeriksaan kehomogenan ragam, salah satu asumsi yang harus diperiksa sebelum analisis ragam satu arah. Uji yang digunakan adalah Uji Levene’s. Jika akan menggunakan data lain dengan nama kelompok/perlakuan serta variabel yang berbeda, ganti kata Berat dengan nama variabel dari data yang akan dibandingkan dan Pakan dengan nama kelompok/perlakuan dari data Anda.
# leveneTest : kode untuk instruksi pemeriksaan kehomogenan ragam dengan Uji Levene.
# Jika nilai p > 0.05, asumsi kehomogenan ragam terpenuhi.
leveneTest(Berat ~ Pakan, data = df)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 2 0.0412 0.9598
## 12
Pemeriksaan kenormalan distribusi data (dengan Uji Shapiro dan pemeriksaan grafis)
Kode di bawah ini digunakan untuk pemeriksaan kenormalan distribusi data. Ada 2 metode yang dipakai dalam panduan ini, yaitu Uji Shapiro-Wilk dan Mencermati QQ-Plot. Jika akan menggunakan data lain dengan nama kelompok/perlakuan serta variabel yang berbeda, ganti kata Berat dengan nama variabel dari data yang akan dibandingkan.
# shapiro.test: kode untuk instruksi pemeriksaan normalitas data dengan Uji Shapiro.
# Jika nilai p > 0.05, asumsi kenormalan distribusi data terpenuhi.
shapiro.test(df$Berat)
##
## Shapiro-Wilk normality test
##
## data: df$Berat
## W = 0.95936, p-value = 0.6813
# qqPlot: kode untuk menyusun Q-Q plot untuk mengetahui apakah data memenuhi asumsi atau tidak.
# Jika titik data berada di antara garis putus-putus, data memenuhi asumsi.
qqPlot(df$Berat)
## [1] 4 1
ANOVA
Pada bagian ini kode R untuk analisis ragam 1 arah akan dijalankan. Hal ini dikarenakan asumsi untuk analisis terpenuhi (kehomogenan ragam dan kenormalan distribusi data).
# lm: kode instruksi untuk penyusunan model linier dalam analisa data
model = lm(Berat ~ Pakan, data = df)
# anova: kode instruksi untuk analisa ragam satu jalur
anova(model)
## Analysis of Variance Table
##
## Response: Berat
## Df Sum Sq Mean Sq F value Pr(>F)
## Pakan 2 982.53 491.27 12.002 0.001371 **
## Residuals 12 491.20 40.93
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Jika nilai p < 0,05, berarti bahwa ada perbedaan yang signifikan antar kelompok/perlakuan.
Post Hoc: Tukey
Hasil analisis ragam satu arah di atas menunjukkan bahwa pemberian jenis pakan berpengaruh nyata terhadap berat sapi limosin. Untuk itu perlu dilakukan uji lanjut, yaitu Uji Tukey. Dalam contoh data di atas, diketahui bahwa ukuran contoh seragam atau dengan kata lain jumlah ulangan masing-masing perlakuan sama, yaitu 5. Kode dibawah ini juga memungkinkan Uji Tukey dengan jumlah ulangan yang tidak sama. Caranya adalah dengan mengganti nilai “unbalanced” dari FALSE ke TRUE.
# HSD.test: kode instruksi untuk uji lanjut - Tukey HSD)
(HSD.test(model, "Pakan", unbalanced = FALSE))
## $statistics
## MSerror Df Mean CV MSD
## 40.93333 12 138.1333 4.631696 10.79524
##
## $parameters
## test name.t ntr StudentizedRange alpha
## Tukey Pakan 3 3.772929 0.05
##
## $means
## Berat std r Min Max Q25 Q50 Q75
## Pakan 1 127.0 5.916080 5 120 134 122 128 131
## Pakan 2 141.4 6.693280 5 133 149 137 141 147
## Pakan 3 146.0 6.557439 5 137 153 142 147 151
##
## $comparison
## NULL
##
## $groups
## Berat groups
## Pakan 3 146.0 a
## Pakan 2 141.4 a
## Pakan 1 127.0 b
##
## attr(,"class")
## [1] "group"
Grafik
Visualisasi hasil ANOVA dan uji lanjutnya juga dapat dilakukan dengan menggunakan kode R di bawah ini. Dalam panduan ini, grafik yang dihasilkan dalam bentuk diagram batang. Modifikasi grafik untuk data yang lain dapat dilakukan dengan mengganti nama kelompok atau perlakuan (x), variabel yang diamati (y), nilai ylim, posisi label geom_text (nilai x dan y) dan label.
ggbarplot(df, x="Pakan", y="Berat", ylim= c(0, 170), add = "mean_se", xlab= "Jenis Pakan", ylab="Berat (kg") +
geom_text(x = 1, y = 140, label ="b") +
geom_text(x = 2, y = 155, label ="a") +
geom_text(x = 3, y = 160, label ="a") +
geom_text(x = 1.1, y = 160, label ="ANOVA 1 Jalur, p < 0,05")