Model Log Linear merupakan analisis pemodelan yang masuk dalam Generalized Linear Model (Model Linier Terampat). Dengan model log linear bisa dilakukan untuk menguji hubungan antar peubah kategorik yang terdapat pada tabel kontingensi (cell count). Model log linear dapat mengatasi situasi yang kompleks: dapat digunakan untuk menguji hubugan homogen dan menduga rasio odds pada tabel kontingensi dengan berbagai ukuran (tidak terbatas pada ukuran 2x2). Dalam analisis model log linear tidak ada peubah respon dan peubah bebas semuanya dianggap sebagai peubah respon. Tujuan utama dari pemodelan log linear adalah untuk menduga parameter model yang mendeskripsikan hubungan antar peubah kategorik.

Pemodelan Log Linear dengan R

Penentuan model log linear terbaik dilakukan secara berjenjang. Tahapan penentuan modelnya sejalan dengan metode backward pada penyeleksian peubah regresi linier. Semua kemungkinan masuk dalam model dan dilakukan pengujian signifikansi paramater model secara berjenjang. Berikut adalah tahapan pengujian atau penentuan model terbaik model log linear (Azen et al, 2011)

ilustrasi

ilustrasi

Berikut adalah langkah-langkah pembentukan model terbaik dengan contoh soal ilustrasi ilustrasi

8.1.a Untuk menjawab point ini dilakukan:

Dalam langkah awal pengolahan tabel kontingensi dibentuk dalam bentuk dalam bentuk tabel dataframe dengan kolom 1 adalah peubah z, kolom 2 peubah x, dan kolom 3 peubah y, serta kolom selanjutnya adalah frekuensinya

#Input Data
z.sex<-factor(rep(c("1M","2F"),each=4)) 
x.info<-factor(rep(c("1support","2oppose"),each=2,times=2)) 
y.health<-factor(rep(c("1support","2oppose"),times=4)) 
counts<-c(76,160,6,25,114,181,11,48) 
data.frame(z.sex,x.info,y.health,counts)
##   z.sex   x.info y.health counts
## 1    1M 1support 1support     76
## 2    1M 1support  2oppose    160
## 3    1M  2oppose 1support      6
## 4    1M  2oppose  2oppose     25
## 5    2F 1support 1support    114
## 6    2F 1support  2oppose    181
## 7    2F  2oppose 1support     11
## 8    2F  2oppose  2oppose     48
#kategori referensi
x.info<-relevel(x.info,ref="2oppose") 
y.health<-relevel(y.health,ref="2oppose") 
z.sex<-relevel(z.sex,ref="2F") 

Selanjutnya adalah melakukan pembentukan model dan pengujian model. Pada langkah awal dibentuk model saturated (model penuh dengan semua parameter dalam model) dan model homogeneous (ada 1 parameter yang tidak ada dalam model yaitu parameter asosiasi 3 arah).

#saturated
model<- glm(counts~x.info+y.health+z.sex+x.info*y.health+x.info*z.sex+ y.health*z.sex+x.info*y.health*z.sex,family=poisson("link"=log)) 
summary(model) 
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + x.info * y.health + 
##     x.info * z.sex + y.health * z.sex + x.info * y.health * z.sex, 
##     family = poisson(link = log))
## 
## Deviance Residuals: 
## [1]  0  0  0  0  0  0  0  0
## 
## Coefficients:
##                                         Estimate Std. Error z value Pr(>|z|)
## (Intercept)                              3.87120    0.14434  26.820  < 2e-16
## x.info1support                           1.32730    0.16235   8.175 2.95e-16
## y.health1support                        -1.47331    0.33428  -4.407 1.05e-05
## z.sex1M                                 -0.65233    0.24664  -2.645  0.00817
## x.info1support:y.health1support          1.01101    0.35502   2.848  0.00440
## x.info1support:z.sex1M                   0.52900    0.26946   1.963  0.04962
## y.health1support:z.sex1M                 0.04619    0.56428   0.082  0.93476
## x.info1support:y.health1support:z.sex1M -0.32833    0.59339  -0.553  0.58005
##                                            
## (Intercept)                             ***
## x.info1support                          ***
## y.health1support                        ***
## z.sex1M                                 ** 
## x.info1support:y.health1support         ** 
## x.info1support:z.sex1M                  *  
## y.health1support:z.sex1M                   
## x.info1support:y.health1support:z.sex1M    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance:  4.4582e+02  on 7  degrees of freedom
## Residual deviance: -2.1094e-14  on 0  degrees of freedom
## AIC: 61.382
## 
## Number of Fisher Scoring iterations: 3
#homogenous Model  
modelhomo <- glm(counts~x.info+y.health+z.sex+x.info*y.health+x.info*z.sex+ y.health*z.sex,family=poisson("link"=log))
summary(modelhomo) 
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + x.info * y.health + 
##     x.info * z.sex + y.health * z.sex, family = poisson(link = log))
## 
## Deviance Residuals: 
##        1         2         3         4         5         6         7         8  
## -0.10362   0.07183   0.39073  -0.17923   0.08516  -0.06730  -0.26626   0.13173  
## 
## Coefficients:
##                                 Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                       3.8521     0.1415  27.219  < 2e-16 ***
## x.info1support                    1.3514     0.1575   8.578  < 2e-16 ***
## y.health1support                 -1.3750     0.2750  -5.001 5.71e-07 ***
## z.sex1M                          -0.5976     0.2242  -2.666  0.00768 ** 
## x.info1support:y.health1support   0.8997     0.2852   3.155  0.00160 ** 
## x.info1support:z.sex1M            0.4636     0.2406   1.927  0.05401 .  
## y.health1support:z.sex1M         -0.2516     0.1749  -1.438  0.15035    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.82335  on 7  degrees of freedom
## Residual deviance:   0.30072  on 1  degrees of freedom
## AIC: 59.683
## 
## Number of Fisher Scoring iterations: 4

Berdasarkan model diperoleh devians saturated model mendekati 0 dengan derajat bebas 0 dan devians homogeneous model bernilai 0.301 sehingga statistik ujinya 0.301-0=0.301 dengan selisih derajat bebas 1. Nilai kritis yaitu chi-square 95 persen db=1 adalah 3.841. Sehingga keputusan tidak tolak H0. Dengan hasil tersebut mengindikasikan parameter asosiasi 3 arah dari model tidak signifikan. Model homogeneous lebih fit untuk data dibanding Model Saturated.

Selanjutnya dilakukan pemodelan conditional association dan dilakukan pengujian homogeneous model terhadap conditional association (pengujian 1 parameter model asosiasi 2 arah):

#Conditional Association on x 
modelcondx<-glm(counts~ x.info+ y.health+ z.sex+ x.info*y.health+ x.info*z.sex,family=poisson("link"=log)) 
summary(modelcondx)
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + x.info * y.health + 
##     x.info * z.sex, family = poisson(link = log))
## 
## Deviance Residuals: 
##        1         2         3         4         5         6         7         8  
## -0.93493   0.67971   0.05945  -0.02883   0.81131  -0.61817  -0.04336   0.02087  
## 
## Coefficients:
##                                 Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                       3.8682     0.1398  27.675  < 2e-16 ***
## x.info1support                    1.3759     0.1548   8.886  < 2e-16 ***
## y.health1support                 -1.4572     0.2693  -5.411 6.26e-08 ***
## z.sex1M                          -0.6436     0.2218  -2.901  0.00372 ** 
## x.info1support:y.health1support   0.8724     0.2841   3.071  0.00214 ** 
## x.info1support:z.sex1M            0.4204     0.2384   1.763  0.07782 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.8233  on 7  degrees of freedom
## Residual deviance:   2.3831  on 2  degrees of freedom
## AIC: 59.765
## 
## Number of Fisher Scoring iterations: 3
#Conditional Association on Y 
modelcondy<-glm(counts~ x.info+ y.health+ z.sex+ x.info*y.health+ y.health*z.sex,family=poisson("link"=log)) 
summary(modelcondy)
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + x.info * y.health + 
##     y.health * z.sex, family = poisson(link = log))
## 
## Deviance Residuals: 
##        1         2         3         4         5         6         7         8  
##  0.08450   0.61232  -0.28835  -1.39207  -0.06863  -0.55869   0.22653   1.16424  
## 
## Coefficients:
##                                 Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                      3.69832    0.12510  29.563  < 2e-16 ***
## x.info1support                   1.54142    0.12896  11.953  < 2e-16 ***
## y.health1support                -1.36951    0.27864  -4.915 8.88e-07 ***
## z.sex1M                         -0.21337    0.09885  -2.158  0.03090 *  
## x.info1support:y.health1support  0.87239    0.28411   3.071  0.00214 ** 
## y.health1support:z.sex1M        -0.20823    0.17311  -1.203  0.22903    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.8233  on 7  degrees of freedom
## Residual deviance:   4.1267  on 2  degrees of freedom
## AIC: 61.509
## 
## Number of Fisher Scoring iterations: 4
#Conditional Association on z 
modelcondz<-glm(counts~ x.info+ y.health+ z.sex+ x.info*z.sex+ y.health*z.sex,family=poisson("link"=log))
summary(modelcondz) 
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + x.info * z.sex + 
##     y.health * z.sex, family = poisson(link = log))
## 
## Deviance Residuals: 
##       1        2        3        4        5        6        7        8  
##  0.4103  -0.2763  -1.2251   0.7402   0.9489  -0.7181  -2.3699   1.5298  
## 
## Coefficients:
##                          Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                3.6420     0.1360  26.783  < 2e-16 ***
## x.info1support             1.6094     0.1426  11.285  < 2e-16 ***
## y.health1support          -0.6054     0.1112  -5.444 5.21e-08 ***
## z.sex1M                   -0.5749     0.2289  -2.511   0.0120 *  
## x.info1support:z.sex1M     0.4204     0.2384   1.763   0.0778 .  
## y.health1support:z.sex1M  -0.2082     0.1731  -1.203   0.2290    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.823  on 7  degrees of freedom
## Residual deviance:  11.666  on 2  degrees of freedom
## AIC: 69.048
## 
## Number of Fisher Scoring iterations: 4

Diperoleh hasil pengujian sebagai berikut: ilustrasi

Berdasarkan Uji Tersebut, dengan taraf uji 5 persen:

  • berdasarkan pengujian conditional x, parameter asosiasi 2 arah yz tidak signifikan dengan asumsi xy dan xz ada dalam model.

  • berdasarkan pengujian conditional y, parameter asosiasi 2 arah xz tidak signifikan dengan asumsi xy dan yz ada dalam model.

  • berdasarkan pengujian conditional z, parameter asosiasi 2 arah xy signifikan dengan asumsi xz dan yz ada dalam model.

Berdasarkan hasil tersebut terlihat bahwa model homogeneous bukan merupakan model terbaik bagi data karena ada parameter asosiasi 2 arah yang tidak signifikan dengan asumsi paramater asosiasi 2 arah lainnya ada dalam model. Langkah selanjutnya adalah dilakukan pemodelan joint independence pada model conditional association yang tidak signifikan (conditional on x dan y). Lalu melakukan pengujian model joint independence terhadap model conditional association untuk pengujian parameter 2 arah dengan asumsi ada 1 parameter 2 arah lainnya dalam model.

#Conditional Association on x dikurang xz 
modelcondx1<-glm(counts~ x.info+ y.health+ z.sex+ x.info*y.health,family=poisson("link"=log)) 
summary(modelcondx1)
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + x.info * y.health, 
##     family = poisson(link = log))
## 
## Deviance Residuals: 
##       1        2        3        4        5        6        7        8  
## -0.6372   1.0893  -0.4999  -1.1823   0.5421  -0.9715   0.4116   0.9662  
## 
## Coefficients:
##                                 Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                      3.72843    0.12212  30.531  < 2e-16 ***
## x.info1support                   1.54142    0.12896  11.953  < 2e-16 ***
## y.health1support                -1.45725    0.26930  -5.411 6.26e-08 ***
## z.sex1M                         -0.28205    0.08106  -3.480 0.000502 ***
## x.info1support:y.health1support  0.87239    0.28411   3.071 0.002136 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.823  on 7  degrees of freedom
## Residual deviance:   5.581  on 3  degrees of freedom
## AIC: 60.963
## 
## Number of Fisher Scoring iterations: 4
#Conditional Association on x dikurang xy 
modelcondx2<-glm(counts~ x.info+ y.health+ z.sex+ x.info*z.sex,family=poisson("link"=log)) 
summary(modelcondx2)
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + x.info * z.sex, 
##     family = poisson(link = log))
## 
## Deviance Residuals: 
##       1        2        3        4        5        6        7        8  
## -0.3024   0.2120  -1.4640   0.9225   1.5405  -1.1325  -2.1332   1.3353  
## 
## Coefficients:
##                        Estimate Std. Error z value Pr(>|z|)    
## (Intercept)             3.67207    0.13325  27.559  < 2e-16 ***
## x.info1support          1.60944    0.14261  11.285  < 2e-16 ***
## y.health1support       -0.69315    0.08513  -8.143 3.87e-16 ***
## z.sex1M                -0.64355    0.22183  -2.901  0.00372 ** 
## x.info1support:z.sex1M  0.42041    0.23840   1.763  0.07782 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.82  on 7  degrees of freedom
## Residual deviance:  13.12  on 3  degrees of freedom
## AIC: 68.502
## 
## Number of Fisher Scoring iterations: 4
#Conditional Association on y dikurang xy 
modelcondx4<-glm(counts~ x.info+ y.health+ z.sex+ z.sex*y.health,family=poisson("link"=log)) 
summary(modelcondx4)
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + z.sex * y.health, 
##     family = poisson(link = log))
## 
## Deviance Residuals: 
##       1        2        3        4        5        6        7        8  
##  0.6932   0.1438  -1.8886  -0.3539   0.6809  -1.0723  -1.8045   2.4085  
## 
## Coefficients:
##                          Estimate Std. Error z value Pr(>|z|)    
## (Intercept)               3.50220    0.11776  29.740  < 2e-16 ***
## x.info1support            1.77495    0.11399  15.571  < 2e-16 ***
## y.health1support         -0.60541    0.11121  -5.444 5.21e-08 ***
## z.sex1M                  -0.21337    0.09885  -2.158   0.0309 *  
## y.health1support:z.sex1M -0.20823    0.17311  -1.203   0.2290    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.823  on 7  degrees of freedom
## Residual deviance:  14.864  on 3  degrees of freedom
## AIC: 70.246
## 
## Number of Fisher Scoring iterations: 4
#Conditional Association on y dikurang yz 
modelcondx5<-glm(counts~ x.info+ y.health+ z.sex+ x.info*y.health,family=poisson("link"=log)) 
summary(modelcondx5)
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + x.info * y.health, 
##     family = poisson(link = log))
## 
## Deviance Residuals: 
##       1        2        3        4        5        6        7        8  
## -0.6372   1.0893  -0.4999  -1.1823   0.5421  -0.9715   0.4116   0.9662  
## 
## Coefficients:
##                                 Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                      3.72843    0.12212  30.531  < 2e-16 ***
## x.info1support                   1.54142    0.12896  11.953  < 2e-16 ***
## y.health1support                -1.45725    0.26930  -5.411 6.26e-08 ***
## z.sex1M                         -0.28205    0.08106  -3.480 0.000502 ***
## x.info1support:y.health1support  0.87239    0.28411   3.071 0.002136 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.823  on 7  degrees of freedom
## Residual deviance:   5.581  on 3  degrees of freedom
## AIC: 60.963
## 
## Number of Fisher Scoring iterations: 4

Diperoleh hasil pengujian sebagai berikut: ilustrasi

Berdasarkan Uji Tersebut, dengan taraf uji 5 persen:

  • berdasarkan pengujian tersebut, parameter asosiasi 2 arah xz tidak signifikan dengan asumsi xy ada dalam model.

  • berdasarkan pengujian tersebut, parameter asosiasi 2 arah xy signifikan dengan asumsi xz ada dalam model.

  • berdasarkan pengujian tersebut, parameter asosiasi 2 arah yz tidak signifikan dengan asumsi xy ada dalam model.

  • berdasarkan pengujian tersebut, parameter asosiasi 2 arah xy signifikan dengan asumsi yz ada dalam model.

Berdasarkan uji tersebut masih ada asosiasi 2 arah yang tidak signifikan dengan asumsi ada 1 asosiasi 2 arah lainnya dalam model. Sehingga untuk memastikan penentuan model terbaik dilakukan pemodelan complete indepence dan dilakukan pengujian terhadap joint independence yang pengujian sebelumnya tidak signifikan (pengujian complete indepence dengan model joint indepence dengan 1 parameter asosiasi 2 arah xy)

#Complete Independence
modelcondx3<-glm(counts~ x.info+ y.health+ z.sex,family=poisson("link"=log)) 
summary(modelcondx3)
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex, family = poisson(link = log))
## 
## Deviance Residuals: 
##        1         2         3         4         5         6         7         8  
## -0.01163   0.62672  -2.14775  -0.15776   1.27750  -1.49031  -1.57956   2.22245  
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)    
## (Intercept)       3.53231    0.11459  30.826  < 2e-16 ***
## x.info1support    1.77495    0.11399  15.571  < 2e-16 ***
## y.health1support -0.69315    0.08513  -8.143 3.87e-16 ***
## z.sex1M          -0.28205    0.08106  -3.480 0.000502 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.823  on 7  degrees of freedom
## Residual deviance:  16.318  on 4  degrees of freedom
## AIC: 69.7
## 
## Number of Fisher Scoring iterations: 4

Berdasarkan model diperoleh devians joint indepence xy adalah 5.581 dengan derajat bebas 3 dan devians complete indepence bernilai 16.381 dengan derajat bebas 4 sehingga statistik ujinya 16.381-5.581=10.737 dengan selisih derajat bebas 1. Nilai kritis yaitu chi-square 95 persen db=1 adalah 3.841. Sehingga keputusan tolak H0. Dengan hasil tersebut mengindikasikan parameter asosiasi 2 arah xy signifikan.

Model terbaik yang fit terhadap data adalah MODEL JOINT INDEPENCE DENGAN 1 PARAMETER ASOSIASI 2 ARAH YAITU XY.

#best model
modelbest <- glm(counts~x.info+y.health+z.sex+x.info*y.health,family=poisson("link"=log))
summary(modelbest) 
## 
## Call:
## glm(formula = counts ~ x.info + y.health + z.sex + x.info * y.health, 
##     family = poisson(link = log))
## 
## Deviance Residuals: 
##       1        2        3        4        5        6        7        8  
## -0.6372   1.0893  -0.4999  -1.1823   0.5421  -0.9715   0.4116   0.9662  
## 
## Coefficients:
##                                 Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                      3.72843    0.12212  30.531  < 2e-16 ***
## x.info1support                   1.54142    0.12896  11.953  < 2e-16 ***
## y.health1support                -1.45725    0.26930  -5.411 6.26e-08 ***
## z.sex1M                         -0.28205    0.08106  -3.480 0.000502 ***
## x.info1support:y.health1support  0.87239    0.28411   3.071 0.002136 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for poisson family taken to be 1)
## 
##     Null deviance: 445.823  on 7  degrees of freedom
## Residual deviance:   5.581  on 3  degrees of freedom
## AIC: 60.963
## 
## Number of Fisher Scoring iterations: 4
#interpretasi 
data.frame(koef=modelbest$coefficients,exp_koef=exp(modelbest$coefficients))
##                                       koef   exp_koef
## (Intercept)                      3.7284253 41.6135266
## x.info1support                   1.5414230  4.6712329
## y.health1support                -1.4572461  0.2328767
## z.sex1M                         -0.2820483  0.7542373
## x.info1support:y.health1support  0.8723877  2.3926169
#fitted
dugaan<-round(fitted(modelbest),2)
data.frame(sex=z.sex,info=x.info,health=y.health,counts=counts,dugaan)
##   sex     info   health counts dugaan
## 1  1M 1support 1support     76  81.69
## 2  1M 1support  2oppose    160 146.61
## 3  1M  2oppose 1support      6   7.31
## 4  1M  2oppose  2oppose     25  31.39
## 5  2F 1support 1support    114 108.31
## 6  2F 1support  2oppose    181 194.39
## 7  2F  2oppose 1support     11   9.69
## 8  2F  2oppose  2oppose     48  41.61

8.1.b Untuk menjawab point ini dilakukan langkah-langkah dengan R:

Jika poin a datanya dibuat ke bawah dalam bentuk dataframe. Untuk poin b input datanya dibuat dalam bentuk tabel:

library("epitools")
## Warning: package 'epitools' was built under R version 3.6.3
library("DescTools")
library("lawstat")
## Warning: package 'lawstat' was built under R version 3.6.3
##---Input Data---##
R.male<- matrix(c(76,160,6,25),nrow=2,byrow=TRUE,
                  dimnames = list("Info" = c("1support","2oppose"),
                                  "Health" = c("1support","2oppose")))
print(R.male)
##           Health
## Info       1support 2oppose
##   1support       76     160
##   2oppose         6      25
R.female<- matrix(c(114,181,11,48),nrow=2,byrow=TRUE,
                  dimnames = list("Info" = c("1support","2oppose"),
                                  "Health" = c("1support","2oppose")))
print(R.female)
##           Health
## Info       1support 2oppose
##   1support      114     181
##   2oppose        11      48
myarray <- array(c(R.male,R.female),dim=c(2,2,2)) # Set matrix for HM
myarray
## , , 1
## 
##      [,1] [,2]
## [1,]   76  160
## [2,]    6   25
## 
## , , 2
## 
##      [,1] [,2]
## [1,]  114  181
## [2,]   11   48
#GI
marginal<-margin.table(myarray,c(1,3))
marginal
##      [,1] [,2]
## [1,]  236  295
## [2,]   31   59
library(fmsb)
## 
## Attaching package: 'fmsb'
## The following objects are masked from 'package:DescTools':
## 
##     CronbachAlpha, VIF
## The following objects are masked from 'package:epitools':
## 
##     oddsratio, rateratio, riskratio
fmsb::oddsratio(marginal)
##            Disease Nondisease Total
## Exposed        236        295   531
## Nonexposed      31         59    90
## Total          267        354   621
## 
##  Odds ratio estimate and its significance probability
## 
## data:  marginal
## p-value = 0.07664
## 95 percent confidence interval:
##  0.9542326 2.4294410
## sample estimates:
## [1] 1.522581
#GH
marginal2<-margin.table(myarray,c(2,3))
marginal2
##      [,1] [,2]
## [1,]   82  125
## [2,]  185  229
library(fmsb)
fmsb::oddsratio(marginal2)
##            Disease Nondisease Total
## Exposed         82        125   207
## Nonexposed     185        229   414
## Total          267        354   621
## 
##  Odds ratio estimate and its significance probability
## 
## data:  marginal2
## p-value = 0.2291
## 95 percent confidence interval:
##  0.5783829 1.1400391
## sample estimates:
## [1] 0.8120216

Berdasarkan output tersebut selang kepercayaan 95 persen untuk odds ratio tabulasi silang GH (gender dan health care cost) adalah 0.5784 sampai dengan 1.140. Sedangkan selang kepercayaan odds ratio tabulasi silang GI (gender dan information program) adalah 0.9542 dampai dengan 2.4394.

Perbandingan odds support pada information program untuk laki-laki terhadap odds support pada information program untuk wanita diantara 0.9542 sampai 2.4394.

Perbandingan odds support pada health care cost untuk laki-laki terhadap odds support pada health care cost untuk wanita diantara 0.5784 sampai 1.140.

Kedua selang kepercayaan tersebut melewati 1 mengindikasikan ada kemungkinan nilai odds ratio sama dengan 1 artinya tidak ada perbedaan odds support baik pada information program maupun health care cost antara laki-laki dan perempuan. Hal ini mengindikasikan bahwa gender tidak berpengaruh dalam kasus ini. Hal ini sejalan dengan poin a hanya ada satu parameter asosiasi 2 arah yang signifikan yaitu xy.