Melakukan Set Direktori

Langkah awal adalah melakukan set direktori terlebih dahulu agar tersimpan pada folder yang sama sehingga ke depannya akan mudah dalam melakukan pencarian . Cara melakukan set direktori di R adalah dengan menggunakan perintah setwd (“alamat folder”)

setwd("D:/KULIAH/STT 2019/SEM3/SEMESTER 3/ADK/Pratikum 1")

A. Membaca Input Data R

Langkah berikutnya adalah melakukan input data • Membaca data format .txt Untukmembaca data dalam bentuk file text kita dapat menggunakan fungsi read.table

• Membaca data format .csv Untuk membaca data dalam bentuk file text kita dapat menggunakan fungsi read.csv

•Membata data format . sav Untuk membaca data dalam bentuk file text kita dapat menggunakan library (“foreign”) dengan fungsi read.spss

Data1 <- read.delim("D:/KULIAH/STT 2019/SEM3/SEMESTER 3/ADK/Pratikum 1/Data P8.txt")
Data2 <- read.csv("D:/KULIAH/STT 2019/SEM3/SEMESTER 3/ADK/Pratikum 1/Data P8.csv")
head(Data1)
##   Responden J.Kelamin T.Pendidikan T.Pendapatan
## 1         1         1            1            4
## 2         2         1            3            6
## 3         3         1            2            4
## 4         4         1            2            5
## 5         5         1            4            4
## 6         6         1            4            1
head(Data2)
##   Responden J.Kelamin T.Pendidikan T.Pendapatan
## 1         1         1            1            4
## 2         2         1            3            6
## 3         3         1            2            4
## 4         4         1            2            5
## 5         5         1            4            4
## 6         6         1            4            1
summary(Data1)
##    Responden       J.Kelamin     T.Pendidikan   T.Pendapatan
##  Min.   : 1.00   Min.   :0.00   Min.   :1.00   Min.   :1.0  
##  1st Qu.:13.25   1st Qu.:1.00   1st Qu.:1.25   1st Qu.:3.0  
##  Median :25.50   Median :1.00   Median :2.00   Median :4.0  
##  Mean   :25.50   Mean   :0.82   Mean   :2.48   Mean   :3.6  
##  3rd Qu.:37.75   3rd Qu.:1.00   3rd Qu.:4.00   3rd Qu.:5.0  
##  Max.   :50.00   Max.   :1.00   Max.   :4.00   Max.   :6.0

B. Deskripsi Data melalui Tabel dan Grafik

Tabel kontingensi dan tabel proporsi dapat digunakan dalam mengeksplorasi pada data kategorik. Berikut akan disajikan contoh dengan menggunakan data (Data P8.txt)

##deskripsi melalui tabel dan grafik
# membuat tabel kontingensi dari data
tabel1<-table(Data1$J.Kelamin, Data1$T.Pendidikan)
tabel1
##    
##      1  2  3  4
##   0  0  3  0  6
##   1 13 11  9  8
rowSums(tabel1)
##  0  1 
##  9 41
colSums(tabel1)
##  1  2  3  4 
## 13 14  9 14
#membuat tabel proporsi dari data
tabel2<-prop.table(table(Data1$J.Kelamin,Data1$T.Pendidikan))
tabel2
##    
##        1    2    3    4
##   0 0.00 0.06 0.00 0.12
##   1 0.26 0.22 0.18 0.16
#membuat tabel 3 dimensi atau lebih
tabel3<-ftable(Data1$J.Kelamin, Data1$T.Pendidikan, Data1$T.Pendapatan)
tabel3
##      1 2 3 4 5 6
##                 
## 0 1  0 0 0 0 0 0
##   2  0 1 1 0 1 0
##   3  0 0 0 0 0 0
##   4  1 0 3 1 1 0
## 1 1  2 1 1 2 3 4
##   2  0 1 4 4 2 0
##   3  1 2 3 1 1 1
##   4  2 1 0 2 2 1

Penjelasan : Tabel 1 dan Tabel 2 merupakan tabel kontingensi dua arah sedangkan Tabel 3 merupakan tabel tiga arah.

Membuat grafik antar data kategorik dapat menggunakan beberapa chart sebagai berikut; • The Grouped Dot Chart • The Grouped Dot Whisker Chart • The Two Way Dot Chart • The Side by Side Bar Chart • The Side by Side Bar Whisker Chart • The Side by Side Stacked Bar Chart • The Mosaic Chart

Ilustrasi

Suatu survei dilakukan terhadap pengguna dan bukan pengguna jasa-jasa keuangan. Berikut ini tersaji tabulasi silang pekerjaan dengan skor tingkat kemampuannya dalam pengelolaan keuangan. Bagaimanakah hubungan antar kedua peubah ini?

Tabel tabulasi silang pekerjaan dengan skor tingkat kemampuannya dalam pengelolaan keuangan

#Langkah awal dari data yangditampilkan diatas adalah membuat tabulasi silang/tabel kontingensi dengan menginput secara langsung dalam bentuk matriks seperti pada syntax dibawah ini;
survei<-matrix(data=c(30,3,44,41,9,62,34,4,74,48,10,48,23,6,14),ncol=5,nrow=3,byrow=FALSE,dimnames=list(c("Rendah","Sedang","Tinggi"),c("Pertanian","PNS","Business owner","Profesional","Lainnya")))
survei
##        Pertanian PNS Business owner Profesional Lainnya
## Rendah        30  41             34          48      23
## Sedang         3   9              4          10       6
## Tinggi        44  62             74          48      14

1. The Grouped Dot Chart

Dot chart dapat digunakan untuk menampilkan data mentah, cacahan frekuensi, statistik deskriptif, dan dugaan parameter dari model statistika. Dalam membuat Dot Chart harus ditentukan kriteria/peubah apa yang menjadi dasar pengelompokan dan apakah disajikan dalam bentuk nilai frekuensi atau proporsi.

Dot Chart menampilkan beberapa keterangan sebagai berikut; –Kategori , atau nilai , dicantumkan dalam kolom vertikal dengan label di sebelah kiri –Garis putus putus horizontal berdekatan dengan kategori dengan nilai yang ditunjukkan oleh titik besar –Sumbu horizontal dan vertikal dibingkai dalam kotak persegi panjang dengan label kategori dan koordinat horizontal, dengan tanda centang , ditampilkan di luar kotak pembingkaian

#pengelompokkan berdasarkan pekerjaan
dotchart(survei,xlab="Frequency",xlim=c(0,100))

#pengelompokkan berdasarkan kemampuan pengelolaan keuangan
dotchart(t(survei),xlab="Frequency",xlim=c(0,100))

#dotchart proporsi dihitung menurut pekerjaan
jumkerja <-colSums(survei)
proppekerjaan <-survei/rbind(jumkerja,jumkerja,jumkerja)
dotchart(proppekerjaan,xlab="Conditional Relative Frequency",xlim=c(0,1))

#dot chart proporsi dihitung menurut kemampuan perencanaan keuangan
jumrkeu <- rowSums(survei)
proprkeu <- t(survei)/rbind(jumrkeu,jumrkeu,jumrkeu,jumrkeu,jumrkeu)
dotchart(proprkeu,xlab="Conditional Relative Frequency",xlim=c(0,0.5))

2. The Grouped Dot-Whisker Chart

Grouped Dot Whisker Chart merupakan grafik pengembangan dari dot chart dengan menambahkan selang kepercayaan dari proporsi yang ditujukan untuk inferensia. Nilai proporsi ditambahkan dengan infromasi margin of error.

#group dot whisker chart
n<-sum(survei)
n
## [1] 450
propsurvei<-survei/n
propsurvei
##          Pertanian        PNS Business owner Profesional    Lainnya
## Rendah 0.066666667 0.09111111    0.075555556  0.10666667 0.05111111
## Sedang 0.006666667 0.02000000    0.008888889  0.02222222 0.01333333
## Tinggi 0.097777778 0.13777778    0.164444444  0.10666667 0.03111111
dotchart(propsurvei,xlab="Proportion",lcolor="white",xlim=c(0,0.3))
sd<-sqrt((1.-propsurvei)*propsurvei/n)
sd<-sd*qnorm(0.975)
hlo<-propsurvei-sd
hhi<-propsurvei+sd
titik<-c(propsurvei[,5],propsurvei[,4],propsurvei[,3],propsurvei[,2],propsurvei[,1])
kiri <-c(hlo[,5],hlo[,4],hlo[,3],hlo[,2],hlo[,1])
kanan<-c(hhi[,5],hhi[,4],hhi[,3],hhi[,2],hhi[,1])
dlx<-cbind(kiri,titik,kanan)
ys<-c(1:3,6:8,11:13,16:18,21:23)
dly<-cbind(ys,ys,ys)
ldl<-length(survei)
for (i in 1:ldl) lines(dlx[i,],dly[i,])

3. The Two-Way Dot Chart

Pada Group dot chart sebelumnya ( Bagian 1) yang ditampilakn adalah dot chart secara tersarang. Pada Two Way Dot Chart, grafik dot chart disajikan secara bersilang. Untuk menampilkan grafik pada two way Dot Char mengunakan library (lattice)

library(lattice)
## Warning: package 'lattice' was built under R version 3.6.3
#Dot Chart bersarang
dotplot(survei,xlab="Frequency",ylab="Eye Color",as.table=TRUE,groups=FALSE,stack=FALSE,layout=c(1,5),scales=list(alternating=3))

#Dot Chart bersilang
dotplot(survei,xlab="Frequency",ylab="Eye Color",as.table=TRUE,groups=FALSE,stack=FALSE,layout=c(5,1),scales=list(alternating=3))

4. The Side-by-Side Bar Chart

Bar Chart merupakan tampilan grafik batang yang paling sering digunakan untuk meringkas data yang berkaitan dengan satu peubah diskret. Bar Chart menggambarkan distribusi variabel kategori dengan panjang batang yang diskalakan sesuai masalah dengan orientasi label. Bar Chart menunjukkan nilai frekuensi setiap kategori dalam tabel kontingensi.

Side by Side Bar Chart Frequency

barplot(survei, horiz=TRUE, xlab="Frequency", ylab="Pekerjaan", beside=TRUE, cex.names=0.6, xlim=c(0,100), col=c("#7CFC00","#6B8E23","#006400"))
legend("topright", legend=rownames(survei), fill=c("#7CFC00","#6B8E23","#006400"), ncol=2, cex=0.5)

Side by Side Bar Chart Relative Frequency

n <-sum(survei)
propsurvei <- survei/n
barplot(propsurvei,horiz=TRUE,xlab="Relative Frequency",ylab="Pekerjaan",beside=TRUE,cex.names=0.6,xlim=c(0,0.3), col=c("#7CFC00","#6B8E23","#006400"))
legend("topright", legend= rownames(propsurvei), fill=c("#7CFC00","#6B8E23","#006400"),ncol = 2,cex = 0.5)

5. The Side-by-Side Stacked bar Chart

Penyajian grafik side by side stacked bar chart menampilkan total nilai frekuensi setiap kategori yang dilakukan secara bertumpuk (stacked).

barplot(survei,horiz=TRUE,xlab="Frequency",ylab="Pekerjaan",beside=FALSE,cex.names=0.6,xlim=c(0,150),col=c("#008B8B","#00CED1", "#E0FFFF"))
legend("topright", legend= rownames(survei), fill=c("#008B8B","#00CED1", "#E0FFFF"),ncol = 2,cex = 0.5)

6. The Mosaic Chart

Berbeda dengan stacked bar chart, pada penyajian mosaic chart berupa total presentase setiap kategori.

mosaicplot(t(survei),main=" ", las=1,cex=0.75,color = c("#008B8B","#00CED1", "#E0FFFF"))

C. Peubah Acak Diskret (Data Kategorik)

Sebaran Bernoulli

Misal, suatu percobaan yang hasilnya dapat digolongkan atas “keberhasilan” atau “kegagalan”.  Jika diambil X=1 untuk kejadian “berhasil”, dan X=0 untuk kejadian “gagal”, fungsi massa peluangnya adalah:  𝑝(𝑋=0)= 1 − 𝑝  𝑝(𝑋−1) = 𝑝 X ~ Bernoulli(p) Fungsi Peluang Bernoulli

#Ilustrasi Sebaran Bernoulli

#membangkitkan 100 data dari populasi Bernoulli P=0.2
x <- rbinom(100,1,0.2)
barplot(table(x),main="p=0.2")

#membangkitkan 100 data dari populasi Bernoulli P=0.5
y <- rbinom(100,1,0.5)
barplot(table(y),main="p=0.5")

Sebaran Binomial

Sebaran Binomial merupakan sebaran dari beberapa kejadian Bernoulli yang saling bebas. Beberapa karakteristik dari sebaran Binomial yaitu; 1. Terdiri dari beberapa percobaan sejenis 2. Tiap percobaan terdiri dari dua kemungkinan hasil: sukses dan gagal 3. Tiap percobaan saling bebas 4. Peluang sukses (P) sama untuk semua percobaan 5. Peubah acak y, merupakan jumlah suksed dari beberapa percobaan yang mengikuti sebaran Binomial dengan parameter n dan p 6. y dapat bernilai y=0,1,…,n

X ~ Binom(n, p) Fungsi peluang

#Ilustrasi Sebaran Binomial
#membangkitkan 100 data dari populasi Binomial dengan n=8 dan P=0.5
#X~binom (8,0.5)
x <-rbinom(100,8,0.5)
barplot(table(x))

#membangkitkan 1000 data dari populasi Binomial dengan n=8 dan P=0.5
#X~binom (8,0.5)
x <-rbinom(1000,8,0.5)
barplot(table(x))

Penjelasan : Dari kedua grafik menunjukkan bahwa semakin besar bangkitan data maka grafik cenderung simetris atau membentuk kurva normal

#Ilustrasi sebaran Binomial

Misalkan terdapat 12 nasabah asuransi di suatu tempat. Diketahui bahwa proporsi nasabah telat bayar polis ialah 1/6. Jika antar nasabah saling bebas tentukanlah peluang bahwa terdapat 7 sampai 9 nasabah yang telat bayar polis! X= banyaknya nasabah asuransi yang telat bayar X~ binomial (n=12. p=1/2) Tentukan P (7<= X <= 9) =P(X<=9)- P(X<=6)

pbinom (9, size=12, prob =1/6)-pbinom (6, size=12, prob =1/6)
## [1] 0.001291758

Sebaran Poisson

“Bentuk evolusi” dari Binom(n,p) ketika n => takhingga dan p => 0. Sebaran Poisson merupakan sebaran yang menggambarkan karakteristik kejadian yang jarang terjadi pada suatu waktu atau tempat tertentu. Contoh ; Banyaknya penderita DB per bulan di suatu wilayah; Banyaknya kesalahan ketik di tiap halaman suatu buku; Dengan jumlah ATM yang ribuan dan bila tiap ATM kecil peluangnya untuk rusak, maka banyaknya ATM rusak pada suatu periode dapat menyebar poisson; Bila uang palsu yang beredar jauh lebih sedikit dibanding uang asli, maka banyaknya uang palsu yang ditemukan dari pemeriksaan sejumlah uang juga dapat menyebar poisson. Fungsi peluang Berikut merupakan sintaks untuk membangkitkan data dari sebaran Poisson dengan parameter tertentu(lamda)

#membangkitkan 1000 data dari populasi Poisson dengan lamda=1
x <- rpois(1000,1)
barplot(table(x))

#membangkitkan 1000 data dari populasi Poisson dengan lamda=3
x <- rpois(1000,3)
barplot(table(x))

#membangkitkan 1000 data dari populasi Poisson dengan lamda=6
x <- rpois(1000,6)
barplot(table(x))

#Ilustrasi sebaran Poisson

Misalkan di suatu kota secara rata rata terdapat 2 mesin ATM yang rusak dalam 1 tahun:

Berapakah peluang tidak mesin ATM rusak dalam 1 tahun ke depan

Berapakah peluang terdapat 2 mesin ATM rusak dalam 2 tahun ke depan

Solusi:

Misalkan X banyaknya mesin ATM yang rusak pada waktu 1 tahun

X~poisson (lamda=1)

  1. P(X=0)
#kumulatif dari sebaran poisson pada X=0 sama dengan pmf dari X=0 
ppois(0,lambda=1)
## [1] 0.3678794
  1. Misalkan Y banyaknya mesin ATM yang rusak dalam waktu 2 tahun maka Y~poisson (lamda=2)
#selisih dari kumulatif sebaran Poisson pada x=2 dan x=1
diff(ppois(c(1,2),lambda=2))
## [1] 0.2706706

Sebran Geometrik

Berkaitan dengan banyaknya pengulangan yang dibutuhkan hingga karakteristik yang diperhatikan muncul sekali. Sebaran geometrik merupakan percobaan Bernoulli yang diperlukan hingga muncul Sukses pertama (P(S)=p). Fungsi peluang

Berikut sintaks untuk membangkitkan data dari populasi yang mengikuti sebaran geometrik dengan parameter P tertentu.

#membangkitkan 1000 data dari populasi Geometrik dengan P=0.2
x <- rgeom(1000,0.2)
barplot(table(x))

#membangkitkan 1000 data dari populasi Geometrik dengan P=0.5
x <- rgeom(1000,0.5)
barplot(table(x))

#membangkitkan 1000 data dari populasi Geometrik dengan P=0.8
x <- rgeom(1000,0.8)
barplot(table(x))

Penjelasan : Semakin besar m dan n akan menentukan kemencengan dari data bangkitan. Jika nilai m dan n cenderung seimbang maka data dari bangkitan cenderung simetris. dengan kata lain besaran parameter menentukan sebaran dari data bangkitan.

Sebaran Hipergeometrik

Sebaran Hipergeometrik memuat konsep sebagai berikut;
Jika pada sebaran binom, p tiap pengulangan diasumsikan sama
Pada Sebaran Hipergeometrik nilai p tidak sama biasa terjadi pada percontohan tanpa pengembalian (sampling without replacement) dari populasi terhingga (finite).

Sebaran Hypergeometrik menggunakan fungsi dhyper(fungsi massa peluang). Sintaks untuk membangkitkan data dari populasi yang berdistribusi hipergeometrik dengan parameter m, n, dan k. Parameter m merupakan banyaknya karakteristik A, n banyaknya karakteristik B, dan k banyaknya yang diambil.

#membangkitkan 1000 data dari populasi Hypergeometrik dengan m=50, n=50, k=10
x <- rhyper(1000,50,50,10)
barplot(table(x))

#membangkitkan 1000 data dari populasi Hypergeometrik dengan m=20, n=80, k=10
x <- rhyper(1000,20,80,10)
barplot(table(x))

#Ilustrasi Sebaran Hipergeometrik

Misalkan terdapat 100 orang nasabah pada suatu bank dengan 2 kategori yaitu kategori A dan B dengan masing masing berisi 60 dan 40 orang nasabah.

Pada bank tersebut akan dilakukan pemilihan 20 nasabah secara acak untuk dijadikan responden suatu survei evaluasi a. Berapakah peluang bahwa terpilih 10 orang nasabah kategori A dan 10 orang nasabah kategori B

Misalkan X banyaknya nasabah kategori A yang terpilih.

Maka X~hipergeometrik(N=100,m=60,n=20)

P(X=10)

dhyper(10,m=60,n=40,k=20)
## [1] 0.1192361