Illustrating CFAs – Graphviz
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
So after yesterdays post you probably ran this fancy new confirmatory factor analysis (CFA) – showed your friends all the cool fit stats and… nothing.
As important as doing things right is being able to let others know that. For CFA the method of choice to illustrate the connections between variables are path diagrams these are best generated using graphviz.
The example above is generated by the following code:
digraph HSCFA {
Factor_1 -> y1 [weight=1000, label=”0.80″];
Factor_1 -> y2 [weight=1000, label=”0.80″];
Factor_1 -> y3 [weight=1000, label=”0.80″];
Factor_1 -> y4 [weight=1000, label=”0.80″];
Factor_2 -> y5 [weight=1000, label=”0.80″];
Factor_2 -> y6 [weight=1000, label=”0.80″];
Factor_2 -> y7 [weight=1000, label=”0.80″];
Factor_2 -> y8 [weight=1000, label=”0.80″];
Factor_1->Factor_2 [dir=both”];
y1 [shape=box,group=”obsvar”];
y2 [shape=box,group=”obsvar”];
y3 [shape=box,group=”obsvar”];
y4 [shape=box,group=”obsvar”];
y5 [shape=box,group=”obsvar”];
y6 [shape=box,group=”obsvar”];
y7 [shape=box,group=”obsvar”];
y8 [shape=box,group=”obsvar”];
{ rank = same; y1; y2; y3; y4; y5; y6; y7; y8}
{ rank = same; Factor_2; Factor_1; }
{ rank = max; d1; d2; d3; d4; d5; d6; d7; d8}
d1 -> y1;
d1 [shape=plaintext,label=””];
d2 -> y2;
d2 [shape=plaintext,label=””];
d3 -> y3;
d3 [shape=plaintext,label=””];
d4 -> y4;
d4 [shape=plaintext,label=””];
d5 -> y5;
d5 [shape=plaintext,label=””];
d6 -> y6;
d6 [shape=plaintext,label=””];
d7 -> y7;
d7 [shape=plaintext,label=””];
d8 -> y8;
d8 [shape=plaintext,label=””];
}
If you are using the sem package to fit the SEM, you can generate the code for graphviz that will plot the model with standardized estimates detailed in this post.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.