Advertisement
Guest User

Untitled

a guest
May 27th, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. TanBayes.default <- function (x, grouping, data, prior = NULL, usekernel = FALSE, fL = 0, ...)
  2. {
  3. x <- data.frame(x)
  4. if(!is.factor(grouping))
  5. stop("grouping/classes object must be a factor")
  6. if (is.null(prior))
  7. apriori <- table(grouping) / length(grouping)
  8. else
  9. apriori <- as.table(prior / sum(prior))
  10. call <- match.call()
  11. Yname <- "grouping"
  12.  
  13. mutdata <- discretize(x)
  14. disdata <- discretize(data)
  15. mii <- mutinformation(mutdata)
  16.  
  17. graph <- graph.adjacency(-mii, mode="directed", weighted=TRUE)
  18. graph <- minimum.spanning.tree(graph)
  19. edge_attr(graph, "weight") <- -edge_attr(graph, "weight")
  20. plot(graph, edge.label=E(graph)$weight)
  21. root <- which(degree(graph, v = V(graph), mode = "in") == 0, useNames = T)
  22.  
  23. tables <- 0
  24. pstwo <- c()
  25.  
  26. est <- function(u) {
  27. group <- c()
  28. for(m in 1:nrow(disdata)) {
  29. if(isTRUE(compare(u, unlist(disdata[m,colselect])))) {
  30. group <- c(group, mutdata[m, v])
  31. }
  32. if(length(group) > 1)
  33. print(group)
  34. }
  35.  
  36. #print(class(u))
  37. #print(class(unlist(disdata[1,cls])))
  38. #group <- c()
  39. #for(m in 1:nrow(disdata)) {
  40. # print(isTRUE(compare(u, disdata[m,cls])))
  41. #}
  42.  
  43.  
  44.  
  45. #comparison <- compareEqual(u, disdata[,cls])
  46. #print(comparison$result)
  47. #for(m in 1:nrow(disdata)) {
  48. # comparison <- compare(u, disdata[m,colselect])
  49. # print(comparison$tM)
  50. #}
  51. #comparison <-
  52.  
  53. #for(m in 1:nrow(disdata)) {
  54. # print(u)
  55. #print(disdata[m,colselect])
  56. # print(isTRUE(compare(u, disdata[m,colselect])))
  57.  
  58. #}
  59. #if(isTRUE(compare(u, disdata[m,colselect])))
  60. # print("TRUE")
  61. #group <- c(group, mutdata[m, v])
  62.  
  63. #if(length(group) > 1) {
  64. #pstwo <- pstwo + log(dnorm(mutdata[m, v], mean(group), sd(group)))
  65. #print(cbind(mean(group), sd(group)))
  66. #tables <- c(tables, cbind(mean(group), sd(group)))
  67. # print(group)
  68. #}
  69. }
  70.  
  71.  
  72.  
  73. for (v in V(graph)) {
  74. path <- shortest_paths(graph, root, v)$vpath[[1]]
  75. colselect <- c(ncol(disdata))
  76. group <- c()
  77.  
  78. if(v != root)
  79. for (p in path)
  80. colselect <- c(colselect, p)
  81. else
  82. colselect <- c(colselect, as.numeric(root))
  83.  
  84. colselect <- head(colselect, -1)
  85. uni <- unique(disdata[,colselect])
  86.  
  87. if(is.vector(uni))
  88. uni <- t(uni)
  89.  
  90. apply(uni, 1, est)
  91.  
  92. print("#########")
  93. }
  94.  
  95. structure(list(apriori = apriori, tables = tables, levels = levels(grouping),
  96. call = call, x = x, usekernel = usekernel, varnames = colnames(x)),
  97. class = "TANBayes")
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement