ICLUST
, create dot code to describe the ICLUST
output. To use the dot code, use either ICLUST.rgraph
which uses Rgraphviz.ICLUST.graph(ic.results, out.file,min.size=1, short = FALSE,labels=NULL,
size = c(8, 6), node.font = c("Helvetica", 14), edge.font = c("Helvetica", 12),
rank.direction=c("RL","TB","LR","BT"), digits = 2, title = "ICLUST", ...)
ICLUST
results and processes it to provide a pretty picture of the results. Original variables shown as rectangles and ordered on the left hand side (if rank direction is RL) of the graph. Clusters are drawn as ellipses and include the alpha, beta, and size of the cluster. Edges show the cluster intercorrelations.It is possible to trim the output to not show all cluster information. Clusters < min.size are shown as small ovals without alpha, beta, and size information.
Although it would be nice to process the dot code directly in R, the Rgraphviz package is difficult to use on all platforms and thus the dot code is written directly.
VSS.plot
, ICLUST
test.data <- Harman74.cor$cov
ic.out <- ICLUST(test.data)
out.file <- file.choose(new=TRUE) #create a new file to write the plot commands to
ICLUST.graph(ic.out,out.file)
now go to graphviz (outside of R) and open the out.file you created
print(ic.out,digits=2)
#test.data <- Harman74.cor$cov
#my.iclust <- ICLUST(test.data)
#ICLUST.graph(my.iclust)
#
#
#digraph ICLUST {
# rankdir=RL;
# size="8,8";
# node [fontname="Helvetica" fontsize=14 shape=box, width=2];
# edge [fontname="Helvetica" fontsize=12];
# label = "ICLUST";
# fontsize=20;
#V1 [label = VisualPerception];
#V2 [label = Cubes];
#V3 [label = PaperFormBoard];
#V4 [label = Flags];
#V5 [label = GeneralInformation];
#V6 [label = PargraphComprehension];
#V7 [label = SentenceCompletion];
#V8 [label = WordClassification];
#V9 [label = WordMeaning];
#V10 [label = Addition];
#V11 [label = Code];
#V12 [label = CountingDots];
#V13 [label = StraightCurvedCapitals];
#V14 [label = WordRecognition];
#V15 [label = NumberRecognition];
#V16 [label = FigureRecognition];
#V17 [label = ObjectNumber];
#V18 [label = NumberFigure];
#V19 [label = FigureWord];
#V20 [label = Deduction];
#V21 [label = NumericalPuzzles];
#V22 [label = ProblemReasoning];
#V23 [label = SeriesCompletion];
#V24 [label = ArithmeticProblems];
#node [shape=ellipse, width ="1"];
#C1-> V9 [ label = 0.78 ];
#C1-> V5 [ label = 0.78 ];
#C2-> V12 [ label = 0.66 ];
#C2-> V10 [ label = 0.66 ];
#C3-> V18 [ label = 0.53 ];
#C3-> V17 [ label = 0.53 ];
#C4-> V23 [ label = 0.59 ];
#C4-> V20 [ label = 0.59 ];
#C5-> V13 [ label = 0.61 ];
#C5-> V11 [ label = 0.61 ];
#C6-> V7 [ label = 0.78 ];
#C6-> V6 [ label = 0.78 ];
#C7-> V4 [ label = 0.55 ];
#C7-> V1 [ label = 0.55 ];
#C8-> V16 [ label = 0.5 ];
#C8-> V14 [ label = 0.49 ];
#C9-> C1 [ label = 0.86 ];
#C9-> C6 [ label = 0.86 ];
#C10-> C4 [ label = 0.71 ];
#C10-> V22 [ label = 0.62 ];
#C11-> V21 [ label = 0.56 ];
#C11-> V24 [ label = 0.58 ];
#C12-> C10 [ label = 0.76 ];
#C12-> C11 [ label = 0.67 ];
#C13-> C8 [ label = 0.61 ];
#C13-> V15 [ label = 0.49 ];
#C14-> C2 [ label = 0.74 ];
#C14-> C5 [ label = 0.72 ];
#C15-> V3 [ label = 0.48 ];
#C15-> C7 [ label = 0.65 ];
#C16-> V19 [ label = 0.48 ];
#C16-> C3 [ label = 0.64 ];
#C17-> V8 [ label = 0.62 ];
#C17-> C12 [ label = 0.8 ];
#C18-> C17 [ label = 0.82 ];
#C18-> C15 [ label = 0.68 ];
#C19-> C16 [ label = 0.66 ];
#C19-> C13 [ label = 0.65 ];
#C20-> C19 [ label = 0.72 ];
#C20-> C18 [ label = 0.83 ];
#C21-> C20 [ label = 0.87 ];
#C21-> C9 [ label = 0.76 ];
#C22-> 0 [ label = 0 ];
#C22-> 0 [ label = 0 ];
#C23-> 0 [ label = 0 ];
#C23-> 0 [ label = 0 ];
#C1 [label = "C1\n alpha= 0.84\n beta= 0.84\nN= 2"] ;
#C2 [label = "C2\n alpha= 0.74\n beta= 0.74\nN= 2"] ;
#C3 [label = "C3\n alpha= 0.62\n beta= 0.62\nN= 2"] ;
#C4 [label = "C4\n alpha= 0.67\n beta= 0.67\nN= 2"] ;
#C5 [label = "C5\n alpha= 0.7\n beta= 0.7\nN= 2"] ;
#C6 [label = "C6\n alpha= 0.84\n beta= 0.84\nN= 2"] ;
#C7 [label = "C7\n alpha= 0.64\n beta= 0.64\nN= 2"] ;
#C8 [label = "C8\n alpha= 0.58\n beta= 0.58\nN= 2"] ;
#C9 [label = "C9\n alpha= 0.9\n beta= 0.87\nN= 4"] ;
#C10 [label = "C10\n alpha= 0.74\n beta= 0.71\nN= 3"] ;
#C11 [label = "C11\n alpha= 0.62\n beta= 0.62\nN= 2"] ;
#C12 [label = "C12\n alpha= 0.79\n beta= 0.74\nN= 5"] ;
#C13 [label = "C13\n alpha= 0.64\n beta= 0.59\nN= 3"] ;
#C14 [label = "C14\n alpha= 0.79\n beta= 0.74\nN= 4"] ;
#C15 [label = "C15\n alpha= 0.66\n beta= 0.58\nN= 3"] ;
#C16 [label = "C16\n alpha= 0.65\n beta= 0.57\nN= 3"] ;
#C17 [label = "C17\n alpha= 0.81\n beta= 0.71\nN= 6"] ;
#C18 [label = "C18\n alpha= 0.84\n beta= 0.75\nN= 9"] ;
#C19 [label = "C19\n alpha= 0.74\n beta= 0.65\nN= 6"] ;
#C20 [label = "C20\n alpha= 0.87\n beta= 0.74\nN= 15"] ;
#C21 [label = "C21\n alpha= 0.9\n beta= 0.77\nN= 19"] ;
#C22 [label = "C22\n alpha= 0\n beta= 0\nN= 0"] ;
#C23 [label = "C23\n alpha= 0\n beta= 0\nN= 0"] ;
#{ rank=same;
#V1;V2;V3;V4;V5;V6;V7;V8;V9;V10;V11;V12;V13;V14;V15;V16;V17;V18;V19;V20;V21;V22;V23;V24;}}
#
#copy the above output to Graphviz and draw it
#see \url{http://personality-project.org/r/r.ICLUST.html} for an example.
Run the code above in your browser using DataLab