exsight analytics

Membuat Plot Visualisasi dengan Library Esquisse di R

Visualisasi data adalah salah satu tahapan yang dilakukan dalam eksplorasi data di mana tujuannya adalah untuk memudahkan peneliti atau siapa saja dalam menggali informasi tersirat yang terdapat di dalam data. Visualisasi ini dapat digunakan untuk mepresentasikan informasi yang ada di dalam data dalam bentuk grafik maupun bagan. Visualisasi data penting dilakukan karena akan membuat siapa saja dapat memahami insight yang ada pada data dengan mudah dan cepat. Seperti yang kita tahu, otak manusia lebih mudah mencerna dan mengingat informasi visual dibandingkan kata.

Ada banyak tool yang dapat digunakan untuk melakukan visualisasi analisis data. Ada tool yang berbasis GUI seperti Excel, Tableau, Power BI dan Google Data Studio. Namun ada juga tool lain berbasis code seperti R dan Python. R dan Python memiliki berbagai library yang dapat digunakan untuk melakukan berbagai jenis visualisasi data sesuai kebutuhan.

Namun ternyata, para kontributor R telah mengembangkan GUI untuk melakukan visualisasi data tanpa code. Kali ini Exsight akan membahas lebih lanjut bagaimana cara membuat visualisasi data tersebut tanpa menggunakan code di software R

About R

R adalah aplikasi Open Source yang digunakan secara masif untuk kegunaan statistik dan representasi grafik. R dikembangkan oleh Ross lhaka dan Robert Gentleman pada tahun 1993. Kamu bisa baca selengkapnya tentang R disini.

Dari definisi di atas, jelas bahwa R dapat digunakan untuk membuat visualisasi data. Namun terkadang pembuatan grafik pada R yang membutuhkan suatu kode membuat peneliti yang tidak memiliki background STEM (Science, Technology, Engineering & Mathematics) cukup kewalahan dalam mengoperasikannya. Peneliti harus memahami terlebih dahulu dokumentasi dari library yang digunakan dan membangun kode secara detil dan teliti untuk memperoleh grafik yang diinginkan.

Kabar baiknya, para kontributor R ternyata telah membuat suatu GUI yang dapat digunakan oleh siapa saja untuk memvisualisasikan data secara gratis. Kamu tidak perlu lagi mempelajari dokumentasi kode yang akan digunakan karena pada GUI ini kamu bisa memanfaatkan fitur “drag and drop” untuk melakukan visulisasi data. Adapun library tersebut adalah esquisse.

Esquisse

Esquisse adalah library R yang dapat kamu gunakan untuk melakukan visualisasi data tanpa code. Kamu dapat menggunakan fitur “drag and drop” sama seperti tools visualisasi pada umumnya untuk membuat plot atau sebagainya. Library esquisse ini mengkombinasikan library ggplot2 dan dplyr untuk menghasilkan visualisasi data yang menarik. Kamu dapat mengatur tema plot, judul, label, warna dan berbagai bagian lain pada plot tanpa sama sekali menuliskan code.

Esquisse Logo

Instalasi di R

Instalasi library Esquisse di R sama halnya dengan instalasi package lainnya.

Kamu dapat menuliskan kode berikut untuk melakukan instalasi di R dari CRAN.

install.packages("esquisse")

Atau kode berikut jika ingin melakukan instalasi langsung dari github.

remotes::install_github("dreamRs/esquisse")

Cara Menggunakan Esquisse

Aktivasi GUI

Setelah library berhasil diinstall, kamu dapat langsung mengaktifkan dan menggunakan GUI tersebut menggunkan kode berikut.

library(esquisse)
esquisser()

Setelah dirunning, GUI tersebut akan muncul pada web browser default dari PC mu. Berikut tampilan awal GUI yang muncul pada Microsoft Edge jika kamu belum mendefinisikan sumber data yang akan dibuat visualisasi.

select data in esquisse

Import Data

Ada dua cara yang dapat kamu lakukan untuk melakukan import data di GUI tersebut. Pada artikel kali ini, akan digunakan data yang sebelumnya sudah pernah digunakan sebagai bahan analisis regresi logistik ordinal. Kamu dapat mendownload data tersebut di sini.

Langkah pertama adalah tentu melakukan import data pada environment R. Banyak cara yang dapat dilakukan untuk mengimport data, disini saya menggunakan sintaks read_excel yang terdapat pada library (readxl)

#Input Data
library(readxl) #Mengaktifkan library readxl
data=read_excel(file.choose()) #Memilih file yang akan dianalisis

Setelah sintaks tersebut di-run, silahkan pilih data yang akan dianalisis. Jangan lupa untuk menyimpan data dalam format .xlsx jika ingin menggunakan sintaks read_excel.

Untuk mengecek apakah data telah diinput secara benar, kita dapat mengetikkan sintaks berikut.

#melihat tampilan data
View(data)

Jika data yang diinput telah sesuai, maka lanjutkan dengan menuliskan kode berikut untuk menginput data ke dalam GUI Esquisse.

esquisser(data)

Nama dataframe yang ada di dalam tanda kurung disesuaikan dengan nama dataframe yang telah kamu input. Misal nama dataframe tersebut adalah data_contoh, maka ketikkan esquisser(data_contoh).

Berikut tampilan GUI setelah menjalankan kode di atas.

tampilan esquisse

Secara langsung GUI akan menampilkan kanvas untuk melakukan visualisasi data seperti di atas.

Namun, jika kamu ingin mendefinisikan terlebih dahulu skala data dari variabel yang kamu gunakan, dan tidak hanya satu data frame yang akan digunakan untuk visualisasi data, kamu dapat melakukannya dengan kode berikut.

esquisser()

Kemudian akan muncul tampilan sebagai berikut.

Pilih dataframe yang akan digunakan pada sel “Choose a data.frame“. Perlu diingat bahwa dataframe yang dapat dipilih hanya dataframe yang sudah diinput pada environment R.

Karena hanya ada satu dataframe yang diinput, maka hanya akan muncul satu dataframe tersebut.

Kamu dapat menentukan variabel mana saja yang akan digunakan untuk visualisasi pada sel “Select variables to keep” dengan mengklik tanda centang. Kamu juga dapat mengetahui skala data serta status missing values dari data yang kamu gunakan.

Jika ingin mengubah skala data, kamu dapat melakukannya pada bagian “Choose a variable to coerce“.

Misal kamu ingin mengubah variabel gender yang semula berskala numerik menjadi faktor, kamu dapat melakukannya seperti gambar di atas. Kemudian klik “Coerce“. Kamu juga dapat melakukan hal yang sama untuk variabel lainnya.

Jika semua variabel telah diatur sesuai keinginanmu, maka jangan lupa untuk mengklik “Validate Imported Data“.

Dari tampilan di atas terlihat bahwa dataframe terdiri dari empat variabel. Adapun variabel biru adalah variabel berskala numerik, sedangkan yang berwarna merah adalah variabel berskala kategorik.

Visualisasi Data

Untuk melakukan visualisasi data, kamu dapat melakukannya dengan memindahkan variabel yang akan divisualisasikan ke kolom X dan Y. Kamu juga dapat mengatur warna dari setiap kategori dengan menggunakan kolom fill dan color.

Histogram in Esquisse

Secara otomatis GUI akan merekomendasikan plot yang sesuai dengan skala dari data yang kita gunakan.

Kamu dapat memilih plot yang lain dengan mengklik gambar histogram di kiri atas.

Density Plot in Esquisse

Berikut plot lainnya yang dihasilkan jika memindahkan variabel gender ke kolom Y.

Boxplot in Esquisse

Kamu juga dapat mengatur warna serta melakukan grouping dengan mudah melalui GUI ini.

Violin Plot in Esquisse

Selain dapat digunakan untuk melakukan visualisasi data seperti di atas, esquisse juga menyediakan empat menu lainnya yang dapat digunakan untuk mempercantik tampilan visualisasi datamu. GUI ini juga menggenerate kode yang nantinya dapat kamu gunakan sebagai source code jika ingin melakukan visualisasi data tanpa library esquisse.

Labels & Title

Menu ini memungkinkan kamu untuk mengatur judul plot, subtitle, keterangan dan judul pada sumbu X dan Y.

Plot options

Di sini kamu dapat memodifikasi warna serta tema yang akan digunakan pada plot.

Data

Menu untuk memfilter data yang digunakan dalam plot secara interaktif.

Export & code

Dalam menu ini, kamu dapat mengambil kode yang digunakan untuk menghasilkan plot, serta kode yang digunakan untuk memfilter data. Kamu dapat menyalin kode ke clipboard, atau memasukkannya ke dalam skrip R lain.

Di menu ini, kamu juga bisa mengexport plot yang telah dibuat ke dalam file .png atau .pptx

Berikut contoh hasil visualisasi setelah dilakukan editing menggunakan menu-menu tersebut.

Dan berikut kode yang dihasilkan.

ggplot(data) +
 aes(x = gender, y = age, fill = gender) +
 geom_boxplot() +
 scale_fill_brewer(palette = "RdYlBu") +
 labs(title = "Boxplot of Age by Gender and Marrital Status") +
 theme_ft_rc() +
 facet_wrap(vars(married))

Penutup

Nah, mudah banget kan cara visualisasi data menggunakan Esquisse di R. Kamu tidak perlu repot-repot menuliskan kode atau melakukan instalasi aplikasi lainnya untuk melakukan visualisasi data. Kamu bisa explore lebih lanjut terkait plot apa saja yang bisa dihasilkan dari GUI tersebut. Atau jika kamu masih penasaran dengan fitur lainnya yang ada di GUI tersebut, jangan sungkan untuk bertanya di kolom komentar atau menghubungi admin melalui tombol WA.

See you di artikel selanjutnya!

Membuat Plot Visualisasi dengan Library Esquisse di R Read More »

3 Library untuk Uji ANOVA di Python

Anova atau Analysis of Variance adalah salah satu metode statistika yang cukup sering digunakan dalam desain eksperimen atau rancangan percobaan. Metode ini dapat digunakan untuk mengetahui ada tidaknya pengaruh perlakuan terhadap variabel yang diamati. Untuk mengetahui penjelasan lengkapnya, Exsight sudah pernah membahas terkait teori ANOVA serta langkah analisisnya di artikel berikut.

PENJELASAN MENGENAI ANOVA (ANALISIS OF VARIANCE)


Exsight juga sudah pernah melakukan uji ANOVA menggunakan R Studio secara lengkap, mulai dari cara import data hingga post-hoc tes menggunakan uji Tukey, LSD dan Duncan.

ONE WAY ANOVA ATAU ANOVA 1 ARAH DI RSTUDIO


Selain menggunakan bahasa R di RStudio, uji anova juga dapat dilakukan dengan tool yang lain, salah satunya adalah bahasa Python. Kamu dapat menjalankan script python melalui Jupyter Notebook, Google Colab atau interface lainnya sesuai dengan preferensimu. Dan yang paling penting, Python dan semua interfacenya juga merupakan software open source sehingga kamu tidak perlu khawatir lagi terkait lisensi atau isu pembajakan aplikasi lainnya.

Berikut akan diberikan tutorial lengkap terkait penerapan uji ANOVA di Python, mulai dari import data hingga uji lanjut Tukey. Adapun data yang akan digunakan sama dengan data yang dianalisis menggunakan RStudio.

Studi Kasus


Seorang petani ingin mengetahui apakah ada pengaruh jenis pupuk terhadap tinggi tanaman cabenya (dalam cm). Petani tersebut menggunakan 5 jenis pupuk yang berbeda (A, B, C, D dan E) dan melakukan pengamatan selama 2 minggu terhadap 20 tanaman cabe. Adapun 1 jenis pupuk akan dicobakan pada 4 tanaman cabe yang berbeda. Berikut tampilan data untuk analisis.

Jenis Pupuk
ABCDE
14.916.11820.29.5
15.917.617.920.57.3
14.716.917.920.58.6
14.816.917.621.49.1
Data Uji ANOVA di python

Dari dataset di atas, One Way ANOVA merupakan metode yang tepat untuk menjawab pertanyaan petani tersebut. Hal ini dikarenakan ada 5 kelompok tanaman yang akan dibandingkan untuk melihat ada tidaknya perbedaan tinggi tanaman antar kelompok. Jika diperoleh hasil bahwa terdapat perbedaan tinggi tanaman antar kelompok, maka dapat disimpulkan terdapat pengaruh jenis pupuk terhadap tinggi tanaman. Dan sebaliknya, jika diperoleh hasil tidak terdapat perbedaan tinggi tanaman antar kelompok, maka dapat disimpulkan tidak terdapat pengaruh jenis pupuk terhadap tinggi tanaman.

Import Data


Sebelum dilakukan import data ke Jupyter Notebook, kamu harus mempersiapkan datanya terlebih dahulu. Tabel hasil pengamatan di atas harus dikonversi menjadi 2 kolom saja, yaitu kolom tinggi_tanaman dan jenis_pupuk. Kolom tinggi_tanaman berisi nilai pengukurannya dalam cm dan kolom jenis_pupuk yang berisi kode pupuk yang dicobakan ke tanaman tersebut.

Secara umum, jika ingin melakukan uji One Way ANOVA di Python atau R, dataset harus dibuat menjadi 2 kolom yang berisi variabel independen dan variabel dependennya. Di mana dalam kasus ini yang merupakan variabel independen adalah jenis pupuk dan variabel dependennya adalah tinggi tanaman.

Berikut tampilan dataset di excel.

Data One Way Anova di excel

Setelah dibuat tabel seperti di atas, maka simpan file tersebut dalam file berekstensi .xlsx Kamu juga bisa menyimpannya dalam file csv. Namun perlu diingat, jika file disimpan dalam bentuk csv, maka kamu harus mengimportnya menggunakan code pd.read_csv

Karena data sudah siap, maka buka Jupyter Notebook dan ketikkan sintaks berikut untuk mengimport file excel tersebut. Jangan lupa import library pandas terlebih dahulu.

import pandas as pd
data=pd.read_excel("Documents/One Way Anova Exsight.xlsx")
data.head()

Berikut tampilan data yang telah diimport.

Import Data di Python

Untuk lokasi file dapat kamu sesuaikan dengan lokasi file kamu berada. Karena data excel saya simpan pada folder “Document”, maka code yang digunakan adalah seperti di atas.

Uji Asumsi ANOVA di Python


Setelah file berhasil diimport, jangan lupa untuk melakukan uji asumsi terlebih dahulu sebelum melakukan uji Anova. Perlu diingat bahwa pengujian asumsi dilakukan terhadap residual data, bukan terhadap data pengamatan. Menurut Widasari (1988) dalam bukunya yang berjudul Materi Pokok Rancangan Percobaan, asumsi-asumsi yang mendasari ANOVA yang perlu diperhatikan agar pengujian menjadi sahih adalah residual percobaan menyebar normal (asumsi normalitas residual) serta residual percobaan mempunyai residual yang homogen (asumsi homogenitas residual).

Untuk menghitung nilai residual, terlebih dahulu dilakukan pemodelan ANOVA di python menggunakan sintaks berikut

import statsmodels.api as sm
from statsmodels.formula.api import ols

model_pupuk = ols('tinggi_tanaman ~ C(jenis_pupuk)', data=data).fit()

Pemodelan anova di python akan dilakukan menggunakan function ols yang terdapat pada library statsmodels.api dimana maksud dari tinggi_tanaman ~ C(jenis_pupuk) adalah untuk menguji hipotesis apakah tinggi_tanaman dipengaruhi oleh jenis pupuk atau tidak.

Untuk mendefinisika variabel residual, gunakan sintaks berikut.

residual=model_pupuk.resid

Pada bagian setelah “=”, sesuaikan dengan nama model yang akan diuji dan diikuti code “.resid”. Karena sebelumnya model anova telah saya definisikan dengan nama model_pupuk, maka tuliskan model_pupuk.resid

Karena kita telah mendapatkan nilai residual yang disimpan dalam variabel residual, maka uji asumsi dapat segera kita lakukan.

Asumsi Normalitas


Uji asumsi normalitas dapat dilakukan dengan banyak metode, satu di antaranya adalah Shapiro Wilk. Python juga telah menyediakan function untuk melakukan uji normalitas menggunakan Shapiro Wilk yang terdapat pada library scipy.stats

import scipy.stats as stats
stats.shapiro(residual)

Berikut hasil pengujian asumsi normalitas.

Uji Normalitas anova di Python

Dari output di atas, nilai 0.94 merupakan nilai statistik uji Wilk dan 0.25 merupakan nilai p-valuenya. Kita dapat menyimpulkan bahwa pada taraf signifikansi 5%, residual berdistribusi normal. Hal ini dikarenakan residual memiliki p-value sebesar 0.2572 > 0.05.

Pengujian asumsi normalitas juga dapat dilakukan secara visual menggunakan probability plot residual. Berikut sintaksnya.

import matplotlib.pyplot as plt

fig = plt.figure(figsize= (5, 5))
ax = fig.add_subplot(111)


normality_plot, stat = stats.probplot(residual, plot= plt, rvalue= True)
ax.set_title("Probability plot of model residual's", fontsize= 10)
ax.set


plt.show()

Probability Plot

Secara visual, juga terlihat jelas bahwa residual berdistribusi normal karena titik-titik data residual mengikuti pola garis linier.

Karena uji asumsi normalitas terpenuhi, maka kita dapat melanjutkan ke uji asumsi homogenitas.

Tapi, jika pada tahap ini asumsi normalitas nya tidak terpenuhi, kamu harus melakukan transformasi data terlebih dahulu atau melakukan uji perbandingan menggunakan metode lain, seperti Kruskal Wallis yang merupakan uji perbandingan non parametrik.

Asumsi Homogenitas


Untuk uji homogenitas residual, akan dilakukan menggunakan Levene Test. Pada python, pengujian dapa dilakukan dengan menggunakan library pingouin.homoscedasticity. Kamu bisa menggunakan metode yang lain sesuai kebutuhanmu.

import pingouin as pg
pg.homoscedasticity(data, dv='tinggi_tanaman', group='jenis_pupuk')

Berikut output yang diperoleh

Uji Homogenitas di Python

Dari output di atas, kita dapat menyimpulkan bahwa pada taraf signifikansi 5%, residual memenuhi asumsi homogenitas. Hal ini dikarenakan residual memiliki p-value sebesar 0.511 > 0.05.

Karena uji asumsi normalitas dan homogenitas terpenuhi, maka kita dapat melanjutkan ke analisis utama kita, yaitu One Way Anova.

One Way ANOVA di Python


Ada banyak library untuk melakukan uji Anova di Python. Artikel kali ini akan membahas 3 di antaranya.

Statsmodel


import statsmodels.api as sm
from statsmodels.formula.api import ols

model_pupuk = ols('tinggi_tanaman ~ C(jenis_pupuk)', data=data).fit()

tabel_anova = sm.stats.anova_lm(model_pupuk, typ=2)
print(tabel_anova)

ANOVA menggunakan library statsmodel

SciPy


import scipy.stats as stats

stats.f_oneway(data['tinggi_tanaman'][data['jenis_pupuk'] == 'A'],
data['tinggi_tanaman'][data['jenis_pupuk'] == 'B'],
data['tinggi_tanaman'][data['jenis_pupuk'] == 'C'],
data['tinggi_tanaman'][data['jenis_pupuk'] == 'D'],
data['tinggi_tanaman'][data['jenis_pupuk'] == 'E'])

ANOVA menggunakan library scipy

Pingouin


import pingouin as pg

tabel_aov = pg.anova(data=data, dv='tinggi_tanaman', between='jenis_pupuk', detailed=True)
print(tabel_aov)

ANOVA menggunakan library pingouin

Dari semua library yang digunakan, nilai F dan p-value menampilkan nilai yang sama, yaitu 212.76 dan 5.15 x 10-13. Kamu dapat menggunakan library manapun sesuai preferensimu.

Dari 3 output tersebut dapat disimpulkan bahwa pada taraf signifikansi 5%, H0 ditolak karena Pr(>F) = 5.15 x 10-13 yang artinya terdapat perbedaan tinggi tanaman antar kelompok pupuk atau dapat dikatakan bahwa ada pengaruh jenis pupuk terhadap tinggi tanaman.

Uji Lanjut Tukey


Sesuai dengan teori dari ANOVA, jika diperoleh hasil bahwa terdapat pengaruh perlakuan terhadap variabel yang diamati, maka analisis akan dilanjutkan dengan melakukan post-hoc test. Uji ini digunakan untuk mengetahui pasangan mana yang berbeda signifikan satu sama lain. Pengujian juga akan memberikan informasi terkait perlakuan mana yang memberikan hasil terbaik.

Banyak metode yang dapat digunakan untuk melakukan uji lanjut, salah satunya adalah uji Tukey. Sama halnya dengan R, Python juga menyediakan library untuk melakukan uji Tukey sebagai lanjutan dari uji Anova di Python.

import statsmodels.stats.multicomp as mc

comp = mc.MultiComparison(data['tinggi_tanaman'], data['jenis_pupuk'])
post_hoc_res = comp.tukeyhsd()
post_hoc_res.summary()

Uji Tukey

Dari output di atas, terdapat 10 pasangan kelompok yang diuji. Kolom meandiff menyatakan nilai selisih rata-rata antar kelompok tersebut dan kolom p-adj menyatakan nilai p value yang akan digunakan untuk penarikan kesimpulan. Jadi jika menggunakan Python, kita tidak perlu repot-repot menghitung nilai BNJ tiap pasangan, kita hanya perlu melihat nilai p-adj dan membandingkannya dengan alpha yang kita gunakan. H0 ditolak jika nilai p-adj < alpha dan sebaliknya, H0 gagal ditolak jika p adj lebih besar sama dengan alpha.

Dari output tersebut, maka dapat disimpulkan bahwa pada taraf signifikansi atau alpha 5% hanya pasangan kelompok B dan C yang tidak berbeda signifikan karena memiliki nilai p adj = 0.2193 > 0.05. Sedangkan untuk 9 pasangan lainnya diperoleh hasil bahwa H0 ditolak.

Selain itu, kita juga bisa mengetahui manakah jenis pupuk terbaik dari kelima pupuk yang digunakan. Pupuk terbaik pastilah pupuk yang merangsang pertumbuhan tanaman paling cepat. Artinya, kelompok yang dikenai pupuk tersebut adalah kelompok dengan nilai rata-rata tanaman tertinggi dan berbeda secara signifikan dengan semua kelompok lainnya. Untuk memudahkan penarikan kesimpulan kita dapat membuat mean plot dengan sintaks sebagai berikut.

post_hoc_res.plot_simultaneous(ylabel= "Jenis Pupuk", xlabel= "Tinggi Tanaman (cm)")

Mean Plot

Dari plot di atas, sangat jelas terlihat bahwa Jenis Pupuk dengan rata-rata tinggi tanaman tertinggi adalah kelompok tanaman dari pupuk D. Karena kelompok ini juga berbeda signifikan dari kelompok lainnya, maka dapat kita simpulkan bahwa jenis pupuk terbaik untuk tanaman tersebut adalah jenis pupuk D.


Nah, mudah bukan cara melakukan uji ANOVA di Python. Jika kamu ingin mengetahui bagaimana penerapan metode statistika lainnya di Python, kamu bisa request di kolom komentar atau langsung bertanya ke admin via instagram atau WA yaa.

See you di artikel selanjutnya.

3 Library untuk Uji ANOVA di Python Read More »

Tutorial Uji Lanjut Duncan (DMRT) di RStudio

Uji lanjut duncan merupakan satu dari beberapa metode yang dapat digunakan untuk mengetahui ada tidaknya perbedaan yang signifikan antar perlakuan. Uji duncan ini merupakan kelanjutan dari uji ANOVA. Masih ingat dengan artikel Exsight sebelumnya yang membahas bagaimana cara melakukan uji ANOVA dengan R Studio? Jika kamu belum membacanya, kamu bisa klik link ini yaa.

Nah, di artikel kali ini, Exsight akan melanjutkan tutorial uji Duncan pada sebagai follow up dari artikel ANOVA tersebut. Sebelum artikel ini, Exsight sebenarnya juga sudah pernah memberikan tutorial mengenai uji lanjut ANOVA, namun menggunakan metode lain, yaitu uji Fisher’s LSD dan Tukey’s HSD. Jika belum, kamu bisa membaca di link berikut.

2 CARA POST-HOC TEST (UJI LANJUT ANOVA) MENGGUNAKAN R STUDIO


Uji Lanjut Duncan


Uji duncan atau Uji Wilayah Berganda Duncan (Duncan Multiple Range Test – DMRT) merupakan satu uji yang dapat digunakan untuk menentukan perlakuan mana saja yang menyebabkan hipotesis nol ditolak (Gaspersz, 1991).

Sama halnya dengan uji lanjut yang lain, dengan uji ini kita akan mengetahui perlakuan atau faktor mana yang merupakan faktor terbaik yang dikenakan pada subjek penelitian. Kita juga bisa mengetahui pasangan perlakuan mana saja yang berbeda secara signfikan. Perlu diingat bahwa uji lanjut hanya dilakukan jika kesimpulan pada ANOVA memberikan hasil H0 ditolak yang berarti ada perbedaan antar kelompok yang diuji. Jika diperoleh hasil bahwa H0 diterima, maka pengujian ini tidak perlu dilakukan.

Langkah Perhitungan Uji Duncan


Langkah-langkah perhitungan uji ini adalah sebagai berikut:

  1. Menyusun nilai tengah atau rata-rata perlakuan dalam urutan menaik
  2. Menghitung residual baku dari nilai tengah perlakuan

S_{\overline{y}}=\sqrt{\frac{KTG}{t}}

dengan  KTG adalah kuadrat tengah residual, t adalah derajat bebas perlakuan. Nilai KTG dapat kamu peroleh dari tabel ANOVA seperti pada penjelasan artikel ini.

3. Menghitung “wilayah beda nyata terpendek (shortest significant ranges)” untuk berbagai wilayah dari nilai tengah

R_{p}=r_{(p;db galat;\alpha )}.S_{\overline{y}}

dengan : rp (p = 2, 3, . . ., t); db residual; α adalah wilayah nyata yang ditentukan dari tabel significant ranges for duncan multiple range test yang didasarkan pada derajat bebas residual dan α adalah taraf signifikansi.

4. Dua rata-rata perlakuan dikatakan berbeda jika mutlak dari selisih dua rata-rata tersebut lebih besar dari Rp  yang bersesuaian

Uji Hipotesis Duncan


Hipotesis

H0 : µi = µj untuk semua i dan j yang memiliki pengaruh yang sama

H1 : µi ≠ µj untuk semua i dan j yang memiliki pengaruh yang berbeda

Taraf Signifikansi

Menggunakan α

Statistik Uji

R_{p}=r_{(p;db galat;\alpha )}.S_{\overline{y}}

Di mana S_{\overline{y}}=\sqrt{\frac{KTG}{t}}

dengan KTG adalah kuadrat tengah residual dan t adalah banyaknya perlakuan.

Krtieria Uji

Tolak H0 jika | µi – µj | > Rp atau sig < α

Langkah Uji Duncan di RStudio


Pada tutorial kali ini, masih digunakan data yang sama dengan tutorial ANOVA pada artikel sebelumnya. Dengan asumsi data telah diinput saat melakukan uji ANOVA, maka kita dapat secara langsung melanjutkan uji Duncan pada tutorial kali ini.

Berikut tampilan data yang akan dianalisis.

Uji lanjut duncan
Tampilan Data Uji ANOVA

Berdasarkan artikel ANOVA sebelumnya, ingin diketahui apakah terdapat pengaruh jenis pupuk terhadap tinggi tanaman. Hasil uji ANOVA memberikan hasil bahwa H0 ditolak sehingga terdapat pengaruh jenis pupuk terhadap tinggi tanaman atau dapat dikatakan bahwa tinggi tanaman antar jenis pupuk berbeda signifikan. Karena, kita memperoleh hasil bahwa H0 ditolak, maka analisis akan dilanjutkan dengan uji duncan untuk mengetahui pasangan kelompok jenis pupuk mana yang berbeda signifikan.

1. Install dan Aktivasi Library “Agricoale”


Pada RStudio, uji duncan terdapat pada library “agricolae“, sehingga sebelum melakukan uji tersebut kamu terlebih dahulu harus menginstall dan mengaktifkan library “agricolae“. Berikut sintaksnya.

install.packages("agricolae")
library(agricolae)

2. Input Code duncan.test()


Setelah berhasil menginstall dan mengaktifkan library, gunakan code duncan.test() untuk melakukan uji duncan.

> anova_pupuk <- aov(tinggi_tanaman ~ jenis_pupuk, data = data)
> dun_test=duncan.test(anova_pupuk,"jenis_pupuk",alpha=0.05)
> dun_test

$statistics
____MSerror Df __Mean______ CV
__0.3801667 15 15.815 3.898682

$parameters
____test _____name.t ntr alpha
__Duncan jenis_pupuk __5 _0.05

$duncan
_____Table CriticalRange
2 3.014325 ____0.9292810
3 3.159826 ____0.9741374
4 3.250248 ____1.0020134
5 3.311848 ____1.0210040

$means
__tinggi_tanaman ______std r _Min _Max ___Q25__ Q50 ___Q75
A ________15.075 0.5560276 4 14.7 15.9 14.775 14.85 15.150
B ________16.875 0.6130525 4 16.1 17.6 16.700 16.90 17.075
C ________17.850 0.1732051 4 17.6 18.0 17.825 17.90 17.925
D ________20.650 0.5196152 4 20.2 21.4 20.425 20.50 20.725
E _________8.625 0.9569918 4 _7.3 _9.5 _8.275 _8.85 _9.200

$comparison
NULL

$groups
__tinggi_tanaman groups
D ________20.650 _____a
C ________17.850 _____b
B ________16.875 _____c
A ________15.075 _____d
E _________8.625 _____e

attr(,"class")
[1] "group"

Dari output di atas, kamu bisa mengetahui statistik deskriptif dari setiap kelompok pada output $means. Kamu juga bisa mengetahui nilai kritis duncan untuk p = 2, 3, 4 dan 5 pada output $duncan.

Untuk mengetahui kelompok mana saja yang berbeda, kamu dapat mengetahuinya dari output $groups. Kelompok dengan huruf groups yang sama memiliki arti bahwa kedua pasangan kelompok tersebut tidak berbeda secara signifikan. Dari output tersebut ternyata semua kelompok ditempatkan pada grup yang berbeda sehingga semua kelompok berbeda secara signifikan.

Selain itu, kita juga bisa mengetahui manakah jenis pupuk terbaik dari kelima pupuk. Pupuk terbaik pastilah pupuk yang merangsang pertumbuhan tanaman paling cepat. Artinya, kelompok yang dikenai pupuk tersebut adalah kelompok dengan nilai rata-rata tanaman tertinggi dan berbeda secara signifkan dengan semua kelompok lainnya. Untuk memudahkan penarikan kesimpulan kita dapat membuat plot dengan sintaks sebagai berikut.

out <- duncan.test(anova_pupuk,"jenis_pupuk", main="Tinggi Tanaman dengan Pemberian Jenis Pupuk yang Berbeda")
plot(out,variation="IQR")

Berikut hasil boxplotnya

Secara default, plot tersebut telah mengurutkan grup berdasarkan rata-rata tertinggi. Dari plot di atas, sangat jelas terlihat bahwa jenis pupuk dengan rata-rata tinggi tanaman tertinggi adalah kelompok tanaman dari pupuk D. Karena kelompok ini juga berbeda signifikan dari kelompok lainnya, maka dapat kita simpulkan bahwa jenis pupuk terbaik untuk tanaman tersebut adalah jenis pupuk D.

Nah, itu dia tutorial uji duncan di RStudio. Kamu bisa menggunakan uji lanjut yang mana saja tergantung dari kebutuhan dan referensi yang kamu gunakan. Hal ini karena masing-masing metode tentu memiliki kelebihan dan kekurangan masing-masing. Jadi, jika kamu masih merasa bingung uji lanjut mana yang lebih sesuai untuk data dan penelitianmu, langsung komen di kolom komentar atau klik tombol whatsapp di pojok kanan bawah yaa.

See you!

Baca juga: RUN R DI GOOGLE COLAB? IKUTI LANGKAH MUDAH BERIKUT! (PART 1)

Tutorial Uji Lanjut Duncan (DMRT) di RStudio Read More »

Hubungi Admin
Halo, selamat datang di Exsight! 👋

Hari ini kita ada DISKON 20% untuk semua transaksi. Klaim sekarang!