From 0200b0f89b2d3d0e78e84b671aff59b1a2dad4c4 Mon Sep 17 00:00:00 2001 From: Zhenghua Gong Date: Wed, 28 Mar 2018 17:01:33 -0400 Subject: [PATCH] This code is to calculate the entropy of any 3 variable. --- entropySorted.R | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 entropySorted.R diff --git a/entropySorted.R b/entropySorted.R new file mode 100644 index 0000000..62c6f57 --- /dev/null +++ b/entropySorted.R @@ -0,0 +1,25 @@ +#Please read README file. + +EntropySorted = + function (filename = "/home/zgong001/Documents/SprinklerDataset/sprinkler1001.txt", alphalevel = 0.05, methodu="x2"){ + library(entropy) + 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) + ThreeVComb = combn(columname,3) + for(jt in 1:ncol(ThreeVComb)){ + ThV = c(ThreeVComb[1,jt], ThreeVComb[2,jt], ThreeVComb[3,jt]) + tbT = table(sprinkler[,ThV[1]], sprinkler[,ThV[2]],sprinkler[,ThV[3]]) + en = entropy(tbT) + lable = paste(ThV[1], ThV[2], ThV[3], sep=", ") + CIlist= data.frame("Index" = lable, "entropy" = en) + result = rbind(result, CIlist) + } + result2 = result[order(-result[,2]), ] + return(result2) + } \ No newline at end of file -- 2.29.0