Data

Aplikasi jejak karbon EcoTrack mencatat menit penggunaan harian dari 15 pengguna aktif dalam satu minggu.

x <- c(22, 25, 19, 30, 24, 21, 45, 23, 20, 26, 24, 22, 18, 27, 23)
n <- length(x)
n
## [1] 15
sort(x)
##  [1] 18 19 20 21 22 22 23 23 24 24 25 26 27 30 45

Nomor 1: Mean, Median, dan Modus

Perhitungan manual

Verifikasi R

rata2 <- mean(x)
med   <- median(x)

tab   <- table(x)
modus <- as.numeric(names(tab[tab == max(tab)]))

rata2
## [1] 24.6
med
## [1] 23
modus
## [1] 22 23 24
tab
## x
## 18 19 20 21 22 23 24 25 26 27 30 45 
##  1  1  1  1  2  2  2  1  1  1  1  1

Interpretasi: Mean (24,6 menit) lebih besar dari median (23 menit). Selisih ini muncul karena adanya nilai ekstrem 45 yang menarik mean ke atas.

Nomor 2: Q1, Q3, dan IQR

Perhitungan manual (data terurut: 18, 19, 20, 21, 22, 22, 23, 23, 24, 24, 25, 26, 27, 30, 45)

Verifikasi R

Q1  <- quantile(x, 0.25)
Q3  <- quantile(x, 0.75)
iqr <- IQR(x)

Q1
##  25% 
## 21.5
Q3
##  75% 
## 25.5
iqr
## [1] 4
batas_bawah <- Q1 - 1.5 * iqr
batas_atas  <- Q3 + 1.5 * iqr
c(batas_bawah = unname(batas_bawah), batas_atas = unname(batas_atas))
## batas_bawah  batas_atas 
##        15.5        31.5
# Outlier
x[x < batas_bawah | x > batas_atas]
## [1] 45
boxplot(x, horizontal = TRUE, col = "lightgreen",
        main = "Boxplot Menit Penggunaan EcoTrack",
        xlab = "Menit per hari")

Interpretasi: IQR = 4 menit berarti 50% pengguna di bagian tengah memiliki durasi penggunaan yang berbeda hanya sekitar 4 menit (antara 21,5 dan 25,5 menit). Pola penggunaan bagian tengah data cukup seragam. Nilai 45 melewati batas atas 31,5 sehingga terdeteksi sebagai outlier.

Nomor 3: Varians dan Standar Deviasi

Perhitungan manual (sampel, n − 1 = 14)

Verifikasi R

ragam <- var(x)
simpang <- sd(x)
cv <- simpang / mean(x) * 100

ragam
## [1] 41.54286
simpang
## [1] 6.445375
cv
## [1] 26.20071

Interpretasi: Koefisien variasi (CV) sekitar 26,2% sehingga variasi data tergolong sedang. Besarnya SD sebagian besar disebabkan oleh outlier 45. Jika outlier dikeluarkan, data menjadi jauh lebih homogen:

x_bersih <- x[x != 45]
c(mean = mean(x_bersih), sd = sd(x_bersih), CV = sd(x_bersih) / mean(x_bersih) * 100)
##      mean        sd        CV 
## 23.142857  3.231031 13.961244

Nomor 4: Koefisien Skewness Pearson

Karena modus tidak tunggal, digunakan koefisien Pearson kedua:

\[Sk = \frac{3(\bar{x} - Md)}{s}\]

Perhitungan manual: Sk = 3(24,6 − 23) / 6,45 = 4,8 / 6,45 ≈ 0,745

Verifikasi R

sk_pearson2 <- 3 * (mean(x) - median(x)) / sd(x)
sk_pearson2
## [1] 0.7447201
# Pearson pertama (kurang cocok karena modus ganda)
(mean(x) - modus) / sd(x)
## [1] 0.40339004 0.24824002 0.09309001

Verifikasi dengan fungsi skewness()

# Skewness momen (g1) dihitung manual, setara moments::skewness()
d <- x - mean(x)
g1 <- (sum(d^3) / n) / (sum(d^2) / n)^1.5
g1
## [1] 2.212573
# Paket e1071 (jika terpasang), type 1, 2, dan 3
if (requireNamespace("e1071", quietly = TRUE)) {
  library(e1071)
  c(type1 = skewness(x, type = 1),
    type2 = skewness(x, type = 2),
    type3 = skewness(x, type = 3))
} else {
  message("Paket e1071 belum terpasang. Jalankan install.packages('e1071').")
}
##    type1    type2    type3 
## 2.212573 2.466403 1.995046

Interpretasi: Koefisien Pearson bernilai positif (≈ 0,745), demikian pula fungsi skewness() (nilainya berbeda karena rumus dan type yang digunakan berbeda). Keduanya menunjukkan distribusi miring ke kanan (positif). Ekor distribusi memanjang ke nilai besar akibat pengguna dengan durasi 45 menit, sehingga mean tertarik ke atas melebihi median.

Ringkasan

data.frame(
  Statistik = c("Mean", "Median", "Modus", "Q1", "Q3", "IQR",
                "Varians", "Std. Deviasi", "Skewness Pearson (2)"),
  Nilai = c(round(mean(x), 2), median(x), paste(modus, collapse = ", "),
            unname(quantile(x, .25)), unname(quantile(x, .75)), IQR(x),
            round(var(x), 2), round(sd(x), 2),
            round(3 * (mean(x) - median(x)) / sd(x), 3))
)