Data berisi menit penggunaan harian aplikasi EcoTrack dari 15
pengguna aktif. Data disimpan dalam vektor x agar bisa
dipakai di semua soal.
x <- c(22, 25, 19, 30, 24, 21, 45, 23, 20, 26, 24, 22, 18, 27, 23)
Bagian ini menghitung tiga ukuran pemusatan data. Mean adalah
rata-rata, median adalah nilai tengah setelah data diurutkan, dan modus
adalah nilai yang paling sering muncul. R tidak punya fungsi bawaan
untuk modus, jadi dihitung dengan table().
mean(x) # rata-rata = jumlah seluruh data dibagi banyak data
## [1] 24.6
median(x) # nilai tengah data yang sudah diurutkan
## [1] 23
tab <- table(x) # hitung frekuensi tiap nilai
modus <- as.numeric(names(tab)[tab == max(tab)]) # ambil nilai dengan frekuensi terbesar
modus # hasil: 22, 23, 24 (multimodal)
## [1] 22 23 24
Kuartil membagi data terurut menjadi empat bagian sama banyak. Q1 adalah batas 25% data terbawah dan Q3 batas 75% data terbawah. IQR = Q3 − Q1 menunjukkan sebaran 50% data di tengah. Boxplot memperlihatkan hal ini secara visual, dan titik di luar kotak menandai outlier.
Q1 <- quantile(x, 0.25) # kuartil pertama
Q3 <- quantile(x, 0.75) # kuartil ketiga
Q1; Q3
## 25%
## 21.5
## 75%
## 25.5
IQR(x) # jangkauan antarkuartil = Q3 - Q1
## [1] 4
# boxplot untuk melihat sebaran data dan outlier
boxplot(x, main = "Boxplot Durasi EcoTrack", horizontal = TRUE)
Varians dan standar deviasi mengukur seberapa menyebar data dari rata-ratanya. Semakin besar nilainya, semakin beragam datanya. Koefisien variasi (CV) menyatakan standar deviasi sebagai persentase dari mean, sehingga lebih mudah dinilai tinggi atau rendah.
var(x) # varians sampel (dibagi n - 1)
## [1] 41.54286
sd(x) # standar deviasi = akar varians
## [1] 6.445375
sd(x) / mean(x) * 100 # koefisien variasi (%)
## [1] 26.20071
Skewness menunjukkan arah kemencengan distribusi. Nilai positif
berarti miring ke kanan (ekor panjang ke nilai besar), nilai negatif
miring ke kiri, dan nilai mendekati 0 berarti simetris. Di sini dihitung
dengan rumus Pearson secara manual, lalu dibandingkan dengan fungsi
skewness() dari paket moments.
library(moments) # paket untuk fungsi skewness(); install.packages("moments") jika belum ada
# koefisien skewness Pearson = 3 x (mean - median) / standar deviasi
sk_pearson <- 3 * (mean(x) - median(x)) / sd(x)
sk_pearson # positif -> miring ke kanan
## [1] 0.7447201
skewness(x) # skewness metode momen (angkanya berbeda dari Pearson, arahnya sama)
## [1] 2.212573
# alternatif
# library(e1071); skewness(x)
Kesimpulan: kedua nilai skewness positif, jadi distribusi miring ke kanan karena adanya pengguna dengan durasi 45 menit.