Hierarchical factor structures represent the correlations between variables in terms of a smaller set of correlated factors which themselves can be represented by a higher order factor.

Two alternative solutions to such structures are found by the `omega`

function. The correlated factors solutions represents the effect of the higher level, general factor, through its effect on the correlated factors. The other representation makes use of the Schmid Leiman transformation to find the direct effect of the general factor upon the original variables as well as the effect of orthogonal residual group factors upon the items.

Graphic presentations of these two alternatives are helpful in understanding the structure. omega.graph and omega.diagram draw both such structures. Graphs are drawn directly onto the graphics window or expressed in ``dot" commands for conversion to graphics using implementations of Graphviz (if using omega.graph).

Using Graphviz allows the user to clean up the Rgraphviz output. However, if Graphviz and Rgraphviz are not available, use omega.diagram.

See the other structural diagramming functions, `fa.diagram`

and `structure.diagram`

.

In addition

```
omega.diagram(om.results,sl=TRUE,sort=TRUE,labels=NULL,flabels=NULL,cut=.2,
gcut=.2,simple=TRUE, errors=FALSE, digits=1,e.size=.1,rsize=.15,side=3,
main=NULL,cex=NULL,color.lines=TRUE,marg=c(.5,.5,1.5,.5),adj=2, ...)
omega.graph(om.results, out.file = NULL, sl = TRUE, labels = NULL, size = c(8, 6),
node.font = c("Helvetica", 14), edge.font = c("Helvetica", 10),
rank.direction=c("RL","TB","LR","BT"), digits = 1, title = "Omega", ...)
```

- clust.graph
A graph object

- sem
A matrix suitable to be run throughe the sem function in the sem package.

- om.results
The output from the omega function

- out.file
Optional output file for off line analysis using Graphviz

- sl
Orthogonal clusters using the Schmid-Leiman transform (sl=TRUE) or oblique clusters

- labels
variable labels

- flabels
Labels for the factors (not counting g)

- size
size of graphics window

- node.font
What font to use for the items

- edge.font
What font to use for the edge labels

- rank.direction
Defaults to left to right

- digits
Precision of labels

- cex
control font size

- color.lines
Use black for positive, red for negative

- marg
The margins for the figure are set to be wider than normal by default

- adj
Adjust the location of the factor loadings to vary as factor mod 4 + 1

- title
Figure title

- main
main figure caption

- ...
Other options to pass into the graphics packages

- e.size
the size to draw the ellipses for the factors. This is scaled by the number of variables.

- cut
Minimum path coefficient to draw

- gcut
Minimum general factor path to draw

- simple
draw just one path per item

- sort
sort the solution before making the diagram

- side
on which side should errors be drawn?

- errors
show the error estimates

- rsize
size of the rectangles

https://personality-project.org/revelle.html

Maintainer: William Revelle revelle@northwestern.edu

While omega.graph requires the Rgraphviz package, omega.diagram does not. codeomega requires the GPArotation package.

https://personality-project.org/r/r.omega.html

Revelle, W. (in preparation) An Introduction to Psychometric Theory with applications in R. https://personality-project.org/r/book/

Revelle, W. (1979). Hierarchical cluster analysis and the internal structure of tests. Multivariate Behavioral Research, 14, 57-74. (https://personality-project.org/revelle/publications/iclust.pdf)

Zinbarg, R.E., Revelle, W., Yovel, I., & Li. W. (2005). Cronbach's Alpha, Revelle's Beta, McDonald's Omega: Their relations with each and two alternative conceptualizations of reliability. Psychometrika. 70, 123-133. https://personality-project.org/revelle/publications/zinbarg.revelle.pmet.05.pdf

Zinbarg, R., Yovel, I., Revelle, W. & McDonald, R. (2006). Estimating generalizability to a universe of indicators that all have one attribute in common: A comparison of estimators for omega. Applied Psychological Measurement, 30, 121-144. DOI: 10.1177/0146621605278814

`omega`

, `make.hierarchical`

, `ICLUST.rgraph`

```
#24 mental tests from Holzinger-Swineford-Harman
if(require(GPArotation) ) {om24 <- omega(Harman74.cor$cov,4) } #run omega
#
#example hierarchical structure from Jensen and Weng
if(require(GPArotation) ) {jen.omega <- omega(make.hierarchical())}
```

Run the code above in your browser using DataCamp Workspace