library(igraph)
data("iris")
mapper <- MapperAlgo(
filter_values = iris[,1:4],
intervals = 4,
percent_overlap = 50,
num_bins_when_clustering = 30)
graph <- graph.adjacency(mapper$adjacency, mode="undirected")
l = length(V(graph))
Mode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
# Distribution of specific variable in each vertex - Majority vote
var.maj.vertex <- c()
filter.vertex <- c()
for (i in 1:l){
points.in.vertex <- mapper$points_in_vertex[[i]]
Mode.in.vertex <- Mode(iris$Species[points.in.vertex])
var.maj.vertex <- c(var.maj.vertex, as.character(Mode.in.vertex))
}
# Size
vertex.size <- rep(0, l)
for (i in 1:l){
points.in.vertex <- mapper$points_in_vertex[[i]]
vertex.size[i] <- length(mapper$points_in_vertex[[i]])
}
MapperNodes <- mapperVertices(mapper, 1:nrow(iris))
MapperNodes$var.maj.vertex <- as.factor(var.maj.vertex)
MapperNodes$Nodesize <- vertex.size
MapperLinks <- mapperEdges(mapper)
Run the code above in your browser using DataLab