From 1c91b280d22441978d31c070257bd8f7131a38ba Mon Sep 17 00:00:00 2001 From: Zhenghua Gong Date: Wed, 28 Mar 2018 15:34:51 -0400 Subject: [PATCH] This file is the code to test conditional independence --- CondIndependentTest.R | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 CondIndependentTest.R diff --git a/CondIndependentTest.R b/CondIndependentTest.R new file mode 100644 index 0000000..fdb48e1 --- /dev/null +++ b/CondIndependentTest.R @@ -0,0 +1,27 @@ +CondIndTwoVar = + function (filename = "/home/zgong001/Documents/SprinklerDataset/sprinkler1001.txt", alphalevel = 0.05, methodu="x2", exfilename = "/home/zgong001/Documents/SprinklerDataset/pvalueSorted(sprinkler).xlsx"){ + library(bnlearn) + result = data.frame() + sprinkler <- read.table(filename, header = TRUE) + columname = colnames(sprinkler) + m=length(columname) + x=seq(0,m-1,by=1) + colnames(sprinkler)=x + columname = colnames(sprinkler) + TwoVComb = combn(columname,2) + for(jt in 1:ncol(TwoVComb)){ + twoV = c(TwoVComb[1,jt], TwoVComb[2,jt]) + columnameT = columname[! columname %in% twoV] + colComb = combn(columnameT,2) + for (j in 1:ncol(colComb)){ + citest = ci.test(colComb[1,j], colComb[2,j], twoV, test = methodu, data = sprinkler) + lable = paste(paste(colComb[1,j], colComb[2,j],sep=", "), "|", paste(twoV[1], twoV[2], sep=", "), sep=" ") + pvalue = citest$p.value + CIlist= data.frame("Index" = lable, "pvalue" = pvalue) + result = rbind(result, CIlist) + } + } + result2 = result[order(-result[,2]), ] + write.xlsx(result2, exfilename, sheetName = "Sheet1", col.names = TRUE, row.names = TRUE, append = FALSE) + return(result2) + } \ No newline at end of file -- 2.29.0