Raw data atau data mentah akan berguna ketika kita mampu membaca atau memperoleh informasi yang terdapat pada data tersebut. Pada bagian ini, akan dijelaskan bagaimana membaca data dimulai dari ukuran pemusatan data dan ukuran penyebaran data
Ukuran pemusatan data atau ukuran tendensi sentral merupakan nilai statistik yang dapat mewakili suatu data. Pada bagian ini akan dibahas tiga ukuran pemusatan data, yaitu mean (rata-rata), median (nilai tengah), dan modus (nilai yang paling banyak muncul)
Rata-rata aritmatik dari suatu sampel dilakukan dengan menjumlahkan seluruh nilai, kemudian dibagi dengan jumlah sampel tersebut. Rumus yang biasa digunakan adalah sebagai berikut: \[\overline{x} = x_{1} + x_{2} + \cdots + x_{n}\] R telah menyediakan function untuk menghitung nilai rata-rata aritmatik, yaitu function mean. Berikut contoh perhitungan dengan menggunakan function tersebut:
data <- c(168,167,178,170,169,175,165,173,170,168,189, 156, 167, 173)
mean(data)
## [1] 170.5714
Apabila data terdiri atas beberapa kategori, kita dapat menghitung nilai rata-rata aritmatik dari masing-masing kategori menggunakan kode berikut:
kategori <- c(rep(1,5), rep(2,3), rep(3,6))
number <- c(168,167,178,170,169,175,165,173,170,168,189,156,167,173)
data <- data.frame(kategori, number)
aggregate(data$number, list(data$kategori), mean)
## Group.1 x
## 1 1 170.4
## 2 2 171.0
## 3 3 170.5
Rata-rata geometric dari suatu sampel dilakukan dengan mengalikan seluruh nilai, kemudian diakarkan dengan jumlah sampel tersebut. Rumus yang biasa digunakan adalah sebagai berikut: \[\overline{x}_{geom} = (x_{1} \times x_{2} \times \cdots \times x_{n})^{1/n}\] R tidak menyediakan function untuk menghitung nilai rata-rata geometik. Berikut contoh perhitungan dengan menggunakan function yang dibangun sendiri pada R:
mean.geom <- function(data){
exp(mean(log(data)))
}
data <- c(168,167,178,170,169,175,165,173,170,168,189, 156, 167, 173)
mean.geom(data)
## [1] 170.4247
Apabila data terdiri atas beberapa kategori, kita dapat menghitung nilai rata-rata geometrik dari masing-masing kategori menggunakan kode berikut:
kategori <- c(rep(1,5), rep(2,3), rep(3,6))
number <- c(168,167,178,170,169,175,165,173,170,168,189,156,167,173)
data <- data.frame(kategori, number)
aggregate(data$number, list(data$kategori), mean.geom)
## Group.1 x
## 1 1 170.3555
## 2 2 170.9449
## 3 3 170.2229
Rumus yang digunakan untuk rata-rata harmonik adalah sebagai berikut: \[\overline{x}_{H} = \frac{n}{x_{1} + x_{2} + \cdots + x_{n}}\] R tidak menyediakan function untuk menghitung nilai rata-rata harmonik. Berikut contoh perhitungan dengan menggunakan function yang dibangun sendiri pada R:
mean.harm <- function(data){
1/(mean(1/data))
}
data <- c(168,167,178,170,169,175,165,173,170,168,189, 156, 167, 173)
mean.harm(data)
## [1] 170.28
Apabila data terdiri atas beberapa kategori, kita dapat menghitung nilai rata-rata harmonik dari masing-masing kategori menggunakan kode berikut:
kategori <- c(rep(1,5), rep(2,3), rep(3,6))
number <- c(168,167,178,170,169,175,165,173,170,168,189,156,167,173)
data <- data.frame(kategori, number)
aggregate(data$number, list(data$kategori), mean.harm)
## Group.1 x
## 1 1 170.3119
## 2 2 170.8892
## 3 3 169.9506
Nilai median merupakan nilai tengah dari data yang telah diurutkan. Apabila banyak data ganjil, median meruapakan data ke \(\frac{n+1}{2}\). Apabila banyak data genap, mdeian merupakan rata-rata dari data ke \(\frac{n}{2}\) dan \(\frac{n}{2}+1\). Median seringkali digunakan untuk mempresentasikan data menceng kanan maupun menceng kiri. R telah menyediakan function untuk menghitung median, yaitu function median. Berikut contoh perhitungan dengan menggunakan function tersebut:
data <- c(168,167,178,170,169,175,165,173,170,168,189, 156, 167, 173)
median(data)
## [1] 169.5
Apabila data terdiri atas beberapa kategori, kita dapat menghitung nilai rata-rata aritmatik dari masing-masing kategori menggunakan kode berikut:
kategori <- c(rep(1,5), rep(2,3), rep(3,6))
number <- c(168,167,178,170,169,175,165,173,170,168,189,156,167,173)
data <- data.frame(kategori, number)
aggregate(data$number, list(data$kategori), median)
## Group.1 x
## 1 1 169
## 2 2 173
## 3 3 169
Nilai median merupakan nilai yang paling sering muncul pada sekumpulan data. R tidak menyediakan function untuk menghitung median. Berikut contoh perhitungan dengan menggunakan function yang dibangun sendiri pada R:
mode <- function(data){
uqx <- unique(data)
tab <- table(data)
sort(uqx)[tab == max(tab)]
}
data <- c(168,167,178,170,169,175,165,173,170,168,189, 156, 167, 173)
mode(data)
## [1] 167 168 170 173
Apabila data terdiri atas beberapa kategori, kita dapat menghitung nilai median dari masing-masing kategori menggunakan kode berikut:
kategori <- c(rep(1,6), rep(2,4), rep(3,7))
number <- c(168,167,178,178,170,169,175,175,165,173,170,168,189,156,167,173,173)
data <- data.frame(kategori, number)
aggregate(data$number, list(data$kategori), mode)
## Group.1 x
## 1 1 178
## 2 2 175
## 3 3 173
Ukuran penyebaran data menunjukkan seberapa jauh suatu data menyebar dari rata-ratanya. Pada bagian ini akan dibahas beberapa ukuran penyebaran data, yaitu range (jangkauan), varians (ragam), standard deviasi (simpangan baku).
Range merupakan selisih antara data terbesar dan data terkecil, dapat ditulis dengan rumus sebagai berikut: \[R = X_{(n)} - X_{(1)}\] R menyediakan function untuk mencari nilai maksimum dan nilai minimum dalam suatu data, yaitu function range. Berikut contoh perhitungan dengan menggunakan function tersebut dan function yang dibuat sendiri:
data <- c(168,167,178,170,169,175,165,173,170,168,189, 156, 167, 173)
range(data)
## [1] 156 189
range.data <- function(data){
max(data) - min(data)
}
range.data(data)
## [1] 33
Apabila data terdiri atas beberapa kategori, kita dapat menghitung nilai range dari masing-masing kategori menggunakan kode berikut:
kategori <- c(rep(1,5), rep(2,3), rep(3,6))
number <- c(168,167,178,170,169,175,165,173,170,168,189,156,167,173)
data <- data.frame(kategori, number)
aggregate(data$number, list(data$kategori), range.data)
## Group.1 x
## 1 1 11
## 2 2 10
## 3 3 33
Varians adalah rata-rata dari jumlah kuadrat simpangan dari data. Varians dari suatu populasi dapat dirumuskan sebagai berikut: \[\sum_{i=1}^{N} \frac{x_i - \mu}{N}\] Varians dari suatu sampel dapat dirumuskan sebagai berikut: \[\sum_{i=1}^{n} \frac{x_i - \overline{n}}{n-1}\] Sedangkan standard deviasi atau simpangan baku merupakan akar kuadrat dari varians. R menyediakan function untuk mencari varians dan standard deviasi dalam suatu data, yaitu function var dan sd. Berikut contoh perhitungan dengan menggunakan function tersebut:
data <- c(168,167,178,170,169,175,165,173,170,168,189, 156, 167, 173)
var(data)
## [1] 54.72527
sd(data)
## [1] 7.397653
Apabila data terdiri atas beberapa kategori, kita dapat menghitung nilai varians dan standard deviasi dari masing-masing kategori menggunakan kode berikut:
kategori <- c(rep(1,5), rep(2,3), rep(3,6))
number <- c(168,167,178,170,169,175,165,173,170,168,189,156,167,173)
data <- data.frame(kategori, number)
aggregate(data$number, list(data$kategori), var)
## Group.1 x
## 1 1 19.3
## 2 2 28.0
## 3 3 115.5
aggregate(data$number, list(data$kategori), sd)
## Group.1 x
## 1 1 4.393177
## 2 2 5.291503
## 3 3 10.747093
Jangkauan antar kuartil merupakan selisih antara Quartil3 dan Quartil1. Sedangkan simpangan kuartil atau disebut juga jangkauan semi kuartil merupakan setengah dari jangkauan antar kuartil. Kedua statistik tersebut dapat ditulis dengan rumus sebagai berikut: \[JAK = Q_3 - Q1\] \[Q_d = \frac{Q_3 - Q1}{2}\] R menyediakan function untuk mencari nilai quartil, yaitu quantile. Menggunakan nilai \(Q_3\) dan \(Q_3\) yang didapatkan, kita dapat mencari nilai jangkauan antar kuartil dan simpangan kuartil menggunakan fungsi yang dibagun sendiri sebagai berikut:
data <- c(168,167,178,170,169,175,165,173,170,168,189, 156, 167, 173)
JAK <- function(data){
as.numeric(quantile(data, 0.75) - quantile(data,0.25))
}
Qd <- function(data){
as.numeric(0.5*(quantile(data, 0.75) - quantile(data,0.25)))
}
JAK(data)
## [1] 5.75
Qd(data)
## [1] 2.875
Apabila data terdiri atas beberapa kategori, kita dapat menghitung jangkauan antar kuartil dan simpangan kuartil dari masing-masing kategori menggunakan kode berikut:
kategori <- c(rep(1,5), rep(2,3), rep(3,6))
number <- c(168,167,178,170,169,175,165,173,170,168,189,156,167,173)
data <- data.frame(kategori, number)
aggregate(data$number, list(data$kategori), JAK)
## Group.1 x
## 1 1 2
## 2 2 5
## 3 3 5
aggregate(data$number, list(data$kategori), Qd)
## Group.1 x
## 1 1 1.0
## 2 2 2.5
## 3 3 2.5
Sekian. Semoga bermanfaat:)