Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TanBayes.default <- function (x, grouping, data, prior = NULL, usekernel = FALSE, fL = 0, ...)
- {
- x <- data.frame(x)
- if(!is.factor(grouping))
- stop("grouping/classes object must be a factor")
- if (is.null(prior))
- apriori <- table(grouping) / length(grouping)
- else
- apriori <- as.table(prior / sum(prior))
- call <- match.call()
- Yname <- "grouping"
- mutdata <- discretize(x)
- disdata <- discretize(data)
- mii <- mutinformation(mutdata)
- graph <- graph.adjacency(-mii, mode="directed", weighted=TRUE)
- graph <- minimum.spanning.tree(graph)
- edge_attr(graph, "weight") <- -edge_attr(graph, "weight")
- plot(graph, edge.label=E(graph)$weight)
- root <- which(degree(graph, v = V(graph), mode = "in") == 0, useNames = T)
- tables <- 0
- pstwo <- c()
- est <- function(u) {
- group <- c()
- for(m in 1:nrow(disdata)) {
- if(isTRUE(compare(u, unlist(disdata[m,colselect])))) {
- group <- c(group, mutdata[m, v])
- }
- if(length(group) > 1)
- print(group)
- }
- #print(class(u))
- #print(class(unlist(disdata[1,cls])))
- #group <- c()
- #for(m in 1:nrow(disdata)) {
- # print(isTRUE(compare(u, disdata[m,cls])))
- #}
- #comparison <- compareEqual(u, disdata[,cls])
- #print(comparison$result)
- #for(m in 1:nrow(disdata)) {
- # comparison <- compare(u, disdata[m,colselect])
- # print(comparison$tM)
- #}
- #comparison <-
- #for(m in 1:nrow(disdata)) {
- # print(u)
- #print(disdata[m,colselect])
- # print(isTRUE(compare(u, disdata[m,colselect])))
- #}
- #if(isTRUE(compare(u, disdata[m,colselect])))
- # print("TRUE")
- #group <- c(group, mutdata[m, v])
- #if(length(group) > 1) {
- #pstwo <- pstwo + log(dnorm(mutdata[m, v], mean(group), sd(group)))
- #print(cbind(mean(group), sd(group)))
- #tables <- c(tables, cbind(mean(group), sd(group)))
- # print(group)
- #}
- }
- for (v in V(graph)) {
- path <- shortest_paths(graph, root, v)$vpath[[1]]
- colselect <- c(ncol(disdata))
- group <- c()
- if(v != root)
- for (p in path)
- colselect <- c(colselect, p)
- else
- colselect <- c(colselect, as.numeric(root))
- colselect <- head(colselect, -1)
- uni <- unique(disdata[,colselect])
- if(is.vector(uni))
- uni <- t(uni)
- apply(uni, 1, est)
- print("#########")
- }
- structure(list(apriori = apriori, tables = tables, levels = levels(grouping),
- call = call, x = x, usekernel = usekernel, varnames = colnames(x)),
- class = "TANBayes")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement