dot_plot {nethet} | R Documentation |
This function takes the output of het_cv_glasso
or
mixglasso
and creates a plot of the highest scoring edges along the
y axis, where, the edge in each cluster is represented by a circle whose area
is proportional to the smallest mean of the two nodes that make up the edge,
and the position along the y axis shows the partial correlation of the edge.
dot_plot(net.clustering, p.corrs.thresh = 0.25, hard.limit = 50, display = TRUE, node.names = rownames(net.clustering$Mu), group.names = sort(unique(net.clustering$comp)), dot.size.range = c(3, 12))
net.clustering |
A network clustering object as returned by
|
p.corrs.thresh |
Cutoff for the partial correlations; only edges with absolute partial correlation > p.corrs.thresh (in any cluster) will be displayed. |
hard.limit |
Additional hard limit on the number of edges to display. If p.corrs.thresh results in more edges than hard.limit, only hard.limit edges with the highest partial correlation are returned. |
display |
If TRUE, print the plot to the current output device. |
node.names |
Names for the nodes in the network. |
group.names |
Names for the clusters or groups. |
dot.size.range |
Graphical parameter for scaling the size of the circles (dots) representing an edge in each cluster. |
Returns a ggplot2 object. If display=TRUE, additionally displays the plot.
n = 500 p = 10 s = 0.9 n.comp = 3 # Create different mean vectors Mu = matrix(0,p,n.comp) # Define non-zero means in each group (non-overlapping) nonzero.mean = split(sample(1:p),rep(1:n.comp,length=p)) # Set non-zero means to fixed value for(k in 1:n.comp){ Mu[nonzero.mean[[k]],k] = -2/sqrt(ceiling(p/n.comp)) } # Generate data sim.result = sim_mix_networks(n, p, n.comp, s, Mu=Mu) mixglasso.result = mixglasso(sim.result$data, n.comp=3) mixglasso.clustering = mixglasso.result$models[[mixglasso.result$bic.opt]] dot_plot(mixglasso.clustering, p.corrs.thresh=0.5)