We illustrate the exact functional test with an example. An epigenetic indicator called CpG island methylator phenotype (CIMP) is strongly associated with liver cancers. Specimens (Shen et al. 2002) to study CIMP were collected and divided into three groups with different CIMP status: negative (no methylated genes), intermediate (1~2 methylated genes) and positive (>2 methylated genes).
The following table gives the frequencies of observed tumor protein p53 mutations and CIMP status:
p53 mutation | CIMP Negative | CIMP Intermediate | CIMP Positive |
---|---|---|---|
No | 12 | 26 | 18 |
Yes | 0 | 8 | 12 |
require(FunChisq)
# x is a contingency table with row variable for p53 mutation and
# column variable for CIMP
<- matrix(c(12,26,18,0,8,12), nrow=2, ncol=3, byrow=TRUE)
x
x#> [,1] [,2] [,3]
#> [1,] 12 26 18
#> [2,] 0 8 12
# Test the functional dependency: p53 mutation -> CIMP
<- fun.chisq.test(x, method="exact")
res print(res)
#>
#> Exact functional test
#>
#> data: x
#> statistic = 5.6436, p-value = 0.04256
#> sample estimates:
#> non-constant function index xi.f
#> 0.1999521
<- format.pval(res$p.value, digits=2)
pval.text <- format.pval(res$estimate, digits=2)
xif.text plot_table(
xlab="CIMP", ylab="p53 mutation", col="seagreen3",
x, main=bquote(italic(P)~'='~.(pval.text)*','~~italic(xi[f])~'='~.(xif.text)))