Commit 876023d7b8e47375c7e21ad1d8a44c1b4a421360

Authored by Zhenghua Gong
1 parent f91ce4fa79
Exists in master

Add a comment.

Showing 1 changed file with 2 additions and 0 deletions   Show diff stats
CondIndependentTest.R
1 #This file is to test the conditional independence of two variable giving 2 parent set. Please read README file before first executing this code.
2
1 CondIndTwoVar = 3 CondIndTwoVar =
2 function (filename = "/home/zgong001/Documents/SprinklerDataset/sprinkler1001.txt", alphalevel = 0.05, methodu="x2", exfilename = "/home/zgong001/Documents/SprinklerDataset/pvalueSorted(sprinkler).xlsx"){ 4 function (filename = "/home/zgong001/Documents/SprinklerDataset/sprinkler1001.txt", alphalevel = 0.05, methodu="x2", exfilename = "/home/zgong001/Documents/SprinklerDataset/pvalueSorted(sprinkler).xlsx"){
3 library(bnlearn) 5 library(bnlearn)
4 result = data.frame() 6 result = data.frame()
5 sprinkler <- read.table(filename, header = TRUE) 7 sprinkler <- read.table(filename, header = TRUE)
6 columname = colnames(sprinkler) 8 columname = colnames(sprinkler)
7 m=length(columname) 9 m=length(columname)
8 x=seq(0,m-1,by=1) 10 x=seq(0,m-1,by=1)
9 colnames(sprinkler)=x 11 colnames(sprinkler)=x
10 columname = colnames(sprinkler) 12 columname = colnames(sprinkler)
11 TwoVComb = combn(columname,2) 13 TwoVComb = combn(columname,2)
12 for(jt in 1:ncol(TwoVComb)){ 14 for(jt in 1:ncol(TwoVComb)){
13 twoV = c(TwoVComb[1,jt], TwoVComb[2,jt]) 15 twoV = c(TwoVComb[1,jt], TwoVComb[2,jt])
14 columnameT = columname[! columname %in% twoV] 16 columnameT = columname[! columname %in% twoV]
15 colComb = combn(columnameT,2) 17 colComb = combn(columnameT,2)
16 for (j in 1:ncol(colComb)){ 18 for (j in 1:ncol(colComb)){
17 citest = ci.test(colComb[1,j], colComb[2,j], twoV, test = methodu, data = sprinkler) 19 citest = ci.test(colComb[1,j], colComb[2,j], twoV, test = methodu, data = sprinkler)
18 lable = paste(paste(colComb[1,j], colComb[2,j],sep=", "), "|", paste(twoV[1], twoV[2], sep=", "), sep=" ") 20 lable = paste(paste(colComb[1,j], colComb[2,j],sep=", "), "|", paste(twoV[1], twoV[2], sep=", "), sep=" ")
19 pvalue = citest$p.value 21 pvalue = citest$p.value
20 CIlist= data.frame("Index" = lable, "pvalue" = pvalue) 22 CIlist= data.frame("Index" = lable, "pvalue" = pvalue)
21 result = rbind(result, CIlist) 23 result = rbind(result, CIlist)
22 } 24 }
23 } 25 }
24 result2 = result[order(-result[,2]), ] 26 result2 = result[order(-result[,2]), ]
25 write.xlsx(result2, exfilename, sheetName = "Sheet1", col.names = TRUE, row.names = TRUE, append = FALSE) 27 write.xlsx(result2, exfilename, sheetName = "Sheet1", col.names = TRUE, row.names = TRUE, append = FALSE)
26 return(result2) 28 return(result2)
27 } 29 }