psych (version 1.1.11)

fa.diagram: Graph factor loading matrices

Description

Factor analysis or principal components analysis results are typically interpreted in terms of the major loadings on each factor. These structures may be represented as a table of loadings or graphically, where all loadings with an absolute value > some cut point are represented as an edge (path).

Usage

fa.diagram(fa.results,Phi=NULL,fe.results=NULL,sort=TRUE,labels=NULL,cut=.3,simple=TRUE,errors=FALSE,
    digits=1,e.size=.05,rsize=.15,side=2,main,cex=NULL, ...) 
fa.graph(fa.results,out.file=NULL,labels=NULL,cut=.3,simple=TRUE,
   size=c(8,6), node.font=c("Helvetica", 14),
    edge.font=c("Helvetica", 10), rank.direction=c("RL","TB","LR","BT"), digits=1,main="Factor Analysis",graphviz=TRUE, ...)

Arguments

fa.results
The output of factor analysis, principal components analysis, or ICLUST analysis. May also be a factor loading matrix from anywhere.
Phi
Normally not specified (it is is found in the FA, pc, or ICLUST, solution), this may be given if the input is a loadings matrix.
fe.results
the results of a factor extension analysis (if any)
out.file
If it exists, a dot representation of the graph will be stored here (fa.graph)
labels
Variable labels
cut
Loadings with abs(loading) > cut will be shown
simple
Only the biggest loading per item is shown
size
graph size
sort
sort the factor loadings before showing the diagram
errors
include error estimates (as arrows)
e.size
size of ellipses
rsize
size of rectangles
side
on which side should error arrows go?
cex
modify font size
node.font
what font should be used for nodes in fa.graph
edge.font
what font should be used for edges in fa.graph
rank.direction
parameter passed to Rgraphviz-- which way to draw the graph
digits
Number of digits to show as an edgelable
main
Graphic title, defaults to "factor analyis" or "factor analysis and extension"
graphviz
Should we try to use Rgraphviz for output?
...
other parameters

Value

  • fa.diagram: A path diagram is drawn without using Rgraphviz. This is probably the more useful function.

    fa.graph: A graph is drawn using rgraphviz. If an output file is specified, the graph instructions are also saved in the dot language.

Details

Path diagram representations have become standard in confirmatory factor analysis, but are not yet common in exploratory factor analysis. Representing factor structures graphically helps some people understand the structure.

fa.diagram does not use Rgraphviz and is the preferred function.

In fa.graph, although a nice graph is drawn for the orthogonal factor case, the oblique factor drawing is acceptable, but is better if cleaned up outside of R or done using fa.diagram.

The normal input is taken from the output of either fa or ICLUST. It is also possible to just give a factor loading matrix as input. In this case, supplying a Phi matrix of factor correlations is also possible.

To specify the model for a structural equation confirmatory analysis of the results, use structure.diagram instead.

See Also

omega.graph, ICLUST.graph, structure.diagram to convert the factor diagram to sem modeling code.

Examples

Run this code
test.simple <- fa(item.sim(16),2,rotate="oblimin")
#if(require(Rgraphviz)) {fa.graph(test.simple) } 
fa.diagram(test.simple)
f3 <- fa(Thurstone,3,rotate="cluster")
fa.diagram(f3,cut=.4,digits=2)
f3l <- f3$loadings
fa.diagram(f3l,main="input from a matrix")
Phi <- f3$Phi
fa.diagram(f3l,Phi=Phi,main="Input from a matrix")
fa.diagram(ICLUST(Thurstone,2,title="Two cluster solution of Thurstone"),main="Input from ICLUST")

Run the code above in your browser using DataCamp Workspace