PROPORSI TABEL KONTINGENSI DUA ARAH

Tujuan

  1. Mempelajari program R untuk membandingkan proporsi tabel kontingensi dua arah.
  2. Mengaplikasikan program R untuk membandingkan proporsi tabel kontingensi dua arah.

Pendahuluan

Pada variabel kategori tunggal, data dapat disajikan dengan menghitung banyaknya pengamatan pada masing-masing kategori. Proporsi sampel pada setiap kategori merupakan peluangnya masing-masing. Misalkan ada dua variabel kategori X dan Y. I menyatakan banyaknya kategori dari X dan J menyatakan banyaknya kategori dari Y. Suatu tabel yang terdiri dari I baris untuk kategori X dan J kolom untuk kategori Y mempunyai ruang tabel yang menampilkan kombinasi dari IJ keluaran. Tabel yang menyajikan banyaknya keluaran di setiap ruangnya disebut tabel Kontingensi. Tabel kontingensi yang menunjukkan klasifikasi dua variable disebut tabel kontingensi dua arah. Tabel dua arah dengan kolom dan baris disebut tabel i×j, sehingga 2×2 tabel kontingensi merupakan pengklasifikasian dua variabel yang masing-masing terdiri dari 2 kelompok. Odds ratio merupakan salah satu ukuran asosiasi bagi tabel kontingensi 2×2. Jika suatu peluang sukses \(\pi\) , maka odds sukses didefinisikan oleh odds = (\(\frac{π}{(1-π)}\))
Odds ratio untuk tabel kontingensi 2×2 didefinisikan oleh

Program R

Contoh kasus:
Data yang digunakan adalah set data Arthritis dari package vcd. Data ini mewakili uji klinis tersamar ganda untuk pengobatan baru untuk artritis reumatoid.<br

library(vcd)
## Loading required package: grid
head(Arthritis) #beberapa pengamatan teratas dari data.
##   ID Treatment  Sex Age Improved
## 1 57   Treated Male  27     Some
## 2 46   Treated Male  29     None
## 3 77   Treated Male  30     None
## 4 17   Treated Male  32   Marked
## 5 36   Treated Male  46   Marked
## 6 23   Treated Male  58   Marked

Struktur Data Frame.

str(Arthritis) 
## 'data.frame':    84 obs. of  5 variables:
##  $ ID       : int  57 46 77 17 36 23 75 39 33 55 ...
##  $ Treatment: Factor w/ 2 levels "Placebo","Treated": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Sex      : Factor w/ 2 levels "Female","Male": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Age      : int  27 29 30 32 46 58 59 59 63 63 ...
##  $ Improved : Ord.factor w/ 3 levels "None"<"Some"<..: 2 1 1 3 3 3 1 3 1 1 ...

Treatment (Placebo, Treated), Sex (Male, Female), and Improved (None, Some, Marked) semuanya merupakan faktor kategori.

Tabel Satu Arah

Menghitung frekuensi sederhana menggunakan fungsi table().

mytable <- with(Arthritis, table(Improved))
mytable  # Frekuensi
## Improved
##   None   Some Marked 
##     42     14     28

Frekuensi menjadi proporsi dan persentase dengan fungsi prop.table().

prop.table(mytable) # proportions
## Improved
##      None      Some    Marked 
## 0.5000000 0.1666667 0.3333333
prop.table(mytable)*100 # percentages
## Improved
##     None     Some   Marked 
## 50.00000 16.66667 33.33333

Tabel Dua Arah

mytable <- xtabs(~ Treatment+Improved, data=Arthritis)
mytable # frequencies
##          Improved
## Treatment None Some Marked
##   Placebo   29    7      7
##   Treated   13    7     21

Hasilkan frekuensi dan proporsi marjinal menggunakan fungsi margin.table() dan prop.table().

margin.table(mytable,1) #row sums
## Treatment
## Placebo Treated 
##      43      41
prop.table(mytable, 1) # row proportions
##          Improved
## Treatment      None      Some    Marked
##   Placebo 0.6744186 0.1627907 0.1627907
##   Treated 0.3170732 0.1707317 0.5121951

Indeks (1) mengacu pada variabel pertama dalam pernyataan table().
Menghasilkan frekuensi dan proporsi marjinal menggunakan fungsi margin.table() dan prop.table().

margin.table(mytable, 2) # column sums
## Improved
##   None   Some Marked 
##     42     14     28
prop.table(mytable, 2) # column proportions
##          Improved
## Treatment      None      Some    Marked
##   Placebo 0.6904762 0.5000000 0.2500000
##   Treated 0.3095238 0.5000000 0.7500000

Indeks (2) mengacu pada variabel kedua dalam pernyataan table().
Kita bisa mendapatkan proporsi sel menggunakan pernyataan prop.table().

prop.table(mytable) # cell proportions
##          Improved
## Treatment       None       Some     Marked
##   Placebo 0.34523810 0.08333333 0.08333333
##   Treated 0.15476190 0.08333333 0.25000000

Jumlah baris dan kolom menggunakan fungsi addmargins().

addmargins(mytable) # add row and column sums to table
##          Improved
## Treatment None Some Marked Sum
##   Placebo   29    7      7  43
##   Treated   13    7     21  41
##   Sum       42   14     28  84

Tabel yang Lebih Kompleks

Jumlahkan margin untuk semua variabel.

addmargins(prop.table(mytable))
##          Improved
## Treatment       None       Some     Marked        Sum
##   Placebo 0.34523810 0.08333333 0.08333333 0.51190476
##   Treated 0.15476190 0.08333333 0.25000000 0.48809524
##   Sum     0.50000000 0.16666667 0.33333333 1.00000000

Jumlah kolom

addmargins(prop.table(mytable, 1), 2) # column sum
##          Improved
## Treatment      None      Some    Marked       Sum
##   Placebo 0.6744186 0.1627907 0.1627907 1.0000000
##   Treated 0.3170732 0.1707317 0.5121951 1.0000000

Jumlah baris

addmargins(prop.table(mytable, 2), 1) # row sum
##          Improved
## Treatment      None      Some    Marked
##   Placebo 0.6904762 0.5000000 0.2500000
##   Treated 0.3095238 0.5000000 0.7500000
##   Sum     1.0000000 1.0000000 1.0000000

Tabel dua arah menggunakan CrossTable

Membuat tabel dua arah menggunakan fungsi CrossTable() dalam package gmodels().

library(gmodels)
CrossTable(Arthritis$Treatment, Arthritis$Improved)
## 
##  
##    Cell Contents
## |-------------------------|
## |                       N |
## | Chi-square contribution |
## |           N / Row Total |
## |           N / Col Total |
## |         N / Table Total |
## |-------------------------|
## 
##  
## Total Observations in Table:  84 
## 
##  
##                     | Arthritis$Improved 
## Arthritis$Treatment |      None |      Some |    Marked | Row Total | 
## --------------------|-----------|-----------|-----------|-----------|
##             Placebo |        29 |         7 |         7 |        43 | 
##                     |     2.616 |     0.004 |     3.752 |           | 
##                     |     0.674 |     0.163 |     0.163 |     0.512 | 
##                     |     0.690 |     0.500 |     0.250 |           | 
##                     |     0.345 |     0.083 |     0.083 |           | 
## --------------------|-----------|-----------|-----------|-----------|
##             Treated |        13 |         7 |        21 |        41 | 
##                     |     2.744 |     0.004 |     3.935 |           | 
##                     |     0.317 |     0.171 |     0.512 |     0.488 | 
##                     |     0.310 |     0.500 |     0.750 |           | 
##                     |     0.155 |     0.083 |     0.250 |           | 
## --------------------|-----------|-----------|-----------|-----------|
##        Column Total |        42 |        14 |        28 |        84 | 
##                     |     0.500 |     0.167 |     0.333 |           | 
## --------------------|-----------|-----------|-----------|-----------|
## 
## 

Untuk Latihan silahkan gunakan yang ada pada modul kawan-kawan yaaa