Membangkitkan Data Populasi

Membangkitkan data populasi yang terdiri atas 1000 amatan dengan peubah:

  • No : 1 sd 500, 9001 sd 9500 (integer)
  • ID : G0001 sd G0500, G9001 sd G9500 (diperoleh berdasarkan kolom No, dengan penambahan huruf “G” didepan No dan jumlah digitnya harus 4)
  • Kelas : “Paralel 1” jika ID genap, dan “Paralel 2” jika ID ganjil (factor)
  • UTS: Diperoleh dengan membangkitkan bilangan acak yang menyebar \(N(\mu=70,\sigma^2=25)\)
  • Indeks : Diperoleh dengan membangkitkan bilangan acak yang menyebar exponential \((\theta=1)\)

Syntax Program

  • Untuk membangkitkan peubah No yang berisi angka-angka 100 sampai 500 dan 9001 sampai 9500 dapat menggunakan fungsi seq() yang kemudian digabungkan dengan menggunakan fungsi c().
No <- c(seq(500),seq(9001,9500))
head(No)
## [1] 1 2 3 4 5 6
  • Untuk membuat peubah ID yang diperoleh berdasarkan peubah No dengan penambahan huruf G di depan No dan jumlah digitnya harus 4 dapat digunakan fungsi sprintf().
ID <- sprintf("G%04d", No)
head(ID)
## [1] "G0001" "G0002" "G0003" "G0004" "G0005" "G0006"
  • Peubah Kelas diperoleh dari peubah ID dimana jika ID genap maka “Paralel 1” dan jika ID ganjil maka “Paralel 2”. Oleh karena peubah ID bertipe karakter, maka untuk lebih mudahnya digunakan peubah No dalam fungsi ifelse().
Kelas<-ifelse(No%%2==0,"Paralel 1", "Paralel 2")
head(Kelas)
## [1] "Paralel 2" "Paralel 1" "Paralel 2" "Paralel 1" "Paralel 2" "Paralel 1"
  • Peubah UTS diperoleh dengan membangkitkan 1000 bilangan acak yang menyebar \(N(\mu=70,\sigma^2=25)\). Dalam hal ini, digunakan fungsirnorm().
set.seed(321)
UTS <- rnorm(1000,70,5)
head(UTS)
## [1] 78.52452 66.43981 68.61008 69.40175 69.38020 71.34092
  • Peubah Indeks diperoleh dengan membangkitkan 1000 bilangan acak yang menyebar exponential \((\theta=1)\). Dalam hal ini, digunakan fungsi rexp().
set.seed(321)
Indeks <- rexp(1000,1)
head(Indeks)
## [1] 0.1651218 0.7134417 1.2551951 1.0578666 0.8941133 0.6131914

Semua peubah di atas dijadikan data.frame dalam data populasi.

populasi <- data.frame(No,ID,Kelas,UTS,Indeks)
populasi

Menghilangkan Data Peubah Indeks

Hilangkan data peubah Indeks yang bernilai lebih dari 1 (menjadi missing value)

Syntax Program

Untuk mengubah nilai indeks yang lebih besar dari 1 menjadi missing value (NA) digunakan fungsi ifelse()

Indeks <- ifelse(populasi$Indeks > 1, NA,populasi$Indeks)
populasi1 <- data.frame(No, ID, Kelas, UTS,Indeks)
populasi1

Menghitung rata-rata dari UTS yang Indeks-nya ada

Syntax Program

Untuk menghitung rata-rata dari UTS yang memiliki Indeks, terlebih dahulu dipilih baris yang tidak memuat NA, dapat digunakan fungsi na.ommit() berikut:

populasi2 <- na.omit(populasi1)
populasi2

Selanjutnya, untuk menghitung rata-rata UTS dari populasi digunakan fungsi mean().

mean(populasi2$UTS)
## [1] 70.03459

Ternyata, rata-rata dari populasi tersebut di atas adalah 70.03459.

Membuat data sampel berukuran 100 amatan dari Kelas “Paralel 1” yang Indeks-nya ada

Syntax Program

Untuk membuat data sampel berukuran 100 dari kelas Paralel 1, terlebih dahulu disaring data-data yang berasal dari kelas Paralel 1, dalam hal ini, digunakan fungsi subset().

Paralel1 <- subset(populasi2,Kelas=="Paralel 1")
Paralel1

Setelah data terkumpul dalam peubah Paralel1, diambil sampel sebanyak 100, dalam hal ini digunakan fungsi sample().

set.seed(321)
sampel <- sample(Paralel1$UTS,100)
head(sampel)
## [1] 68.75253 75.60497 72.17465 63.62295 72.70602 67.27653

Menghitung rata-rata dari UTS pada data sampel yang terambil, lalu bandingkan dengan populasi

Syntax Program

Untuk menghitung rata-rata 100 sampel di atas, digunakan fungsi mean().

mean(sampel)
## [1] 70.77826

Rata-rata dari 100 sampel adalah 70.77826.

Kesimpulan: Rata-rata dari 100 sampel acak yang dipilh tidak jauh beda dengan rata-rata populasi. Adapun rata-rata dari populasi adalah 70.03459, dapat dikatakan bahwa rata-rata dari sampel dapat menggambarkan rata-rata dari populasi.