Blogroll

halo
Searching...
Rabu, 15 Februari 2017

[R] Cross Tabulation dengan Uji Kebebasannya

11.42





Cross tabulation (crosstabs) biasa digunakan untuk menghasilkan suatu tabel kontigensi antara variabel-variabel kategorial. Contoh tabelnya seperti dibawah ini, tabel itu menabulasi 2 variabel amatan, yaitu pekerjaan dengan pendidikan.



Cara melakukan crosstabs lewat R program sebenarnya cukup mudah. Pertama kita memiliki dataset amatan yang terdiri dari variabel pekerjaan dan pendidikan. Kita import data itu, lalu olah data itu dengan script R di bawah ini.

 ## Mengeset Directory Project  
 setwd("D:/data/blog/crosstabs")  
 ## Import data  
 mydata <- read.csv("data.csv",sep=";",header=T)  
 View(mydata)  
 # Cross Tabulation   
 attach(mydata)  
 mytable <- table(mydata$kerja,mydata$didik) # kerja will be rows, didik will be columns   
 mytable # print table   
 write.csv(mytable,file = "crosstabs.csv")  

Sehingga menghasilkan file crosstabs.csv seperti gambar tabel di atas.

Dari tabel tabulasi itu (mytable), kita dapat melakukan analisis lanjutan. Analisis yang bisa dilakukan adalah uji Kebebasan (Independency test). Intinya, uji ini untuk melihat apakah dua variabel tersebut saling mempengaruhi atau tidak. Ini semacam tes korelasi tetapi khusus digunakan pada variabel nominal.

Ada tiga test yang akan dibahas kali ini, yaitu chi square, mc Nemar, dan Fisher.
Ketiga-tiganya memiliki hipotesis seperti ini.

          H0 : varibel saling bebas / tidak saling mempengaruhi (untuk p > α)
          H1 : variabel tidak saling bebas / saling mempengaruhi (untuk p <= α)
          (α yang dipakai biasanya 0.05)

Berikut ketiga test itu dilakukan lewat script R.

Chi square
 > chisq.test(mytable)  
      Pearson's Chi-squared test  
 data: mytable  
 X-squared = 5.3472, df = 4, p-value = 0.2535  

Mc Nemar
 > mcnemar.test(mytable)  
      McNemar's Chi-squared test  
 data: mytable  
 McNemar's chi-squared = 3.3333, df = 3, p-value = 0.343  

Fisher
 > fisher.test(mytable,alternative="two.sided")  
      Fisher's Exact Test for Count Data  
 data: mytable  
 p-value = 0.2781  
 alternative hypothesis: two.sided  

Dari ketiga uji itu, terlihat nilai p dari semua uji lebih dari nilai α (0,05).
Sehingga untuk kasus dataset tersebut, tidak ada hubungan antara pekerjaan dengan pendidikan seseorang.

Selain dengan script R di atas, ada cara cepat yang bisa digunakan untuk menghasilkan tabel kontigensi yang lebih lengkap (observed, expected, percentage, dll), dan sekaligus menghasilkan hasil uji dari ketiga alat analisis tersebut. Hal itu dapat dilakukan lewat package “gmodels”. Berikut script-nya dan hasil outputnya.

script R
 ## Crosstable gmodels package, sekaligus melakukan crosstabs  
 ## dan menghasilkan output uji kebebasan (chi square, mcNemar, Fisher)  
 library(gmodels)  
 crossanalysis <- CrossTable(mydata$kerja, mydata$didik,prop.r=F,prop.c=F,  
               chisq=T,fisher=T,mcnemar=T,format="SPSS")  

Output
   Cell Contents  
 |-------------------------|  
 |          Count          |  
 | Chi-square contribution |  
 |      Total Percent      |  
 |-------------------------|  
 Total Observations in Table: 25   
        | mydata$didik   
 mydata$kerja | akademi | sarjana |   sma   | Row Total |   
 -------------|---------|---------|---------|-----------|  
   karyawan   |    3    |    5    |    1    |         9 |   
              |  0.800  |  0.544  |  1.878  |           |   
              |  12.000%|  20.000%|  4.000% |           |   
 -------------|---------|---------|---------|-----------|  
    petani    |    1    |       3 |       4 |         8 |   
              |  0.225  |   0.013 |   0.200 |           |   
              |  4.000% |  12.000%| 16.000% |           |   
 -------------|---------|---------|---------|-----------|  
  wiraswasta  |    1    |    2    |      5  |         8 |   
              |  0.225  |  0.450  |  1.012 |            |   
              |  4.000% |  8.000% |20.000% |            |   
 -------------|---------|---------|--------|------------|  
 Column Total |    5    |    10   |     10 |         25 |   
 -------------|---------|---------|--------|------------|  
 Statistics for All Table Factors  
 Pearson's Chi-squared test   
 ------------------------------------------------------------  
 Chi^2 = 5.347222   d.f. = 4   p = 0.2534887   
 McNemar's Chi-squared test   
 ------------------------------------------------------------  
 Chi^2 = 3.333333   d.f. = 3   p = 0.3430301   
 Fisher's Exact Test for Count Data  
 ------------------------------------------------------------  
 Alternative hypothesis: two.sided  
 p = 0.2781465   
     Minimum expected frequency: 1.6   
 Cells with Expected Frequency < 5: 9 of 9 (100%)  


Semoga bermanfaat, dan mohon koreksinya....



0 komentar: