Learn R Programming

qgraph (version 1.0.5-2)

qgraph.lavaan: qgraph: Structural Equation Modelling

Description

This functions uses a "lavaan" object from the lavaan package (Rosseel, 2011) and outputs a multi-page pdf file containing path diagram, graphs of the parameter estimates and graphs of the implied and observed covariance and correlation matrices.

Usage

qgraph.lavaan(
	fit,
	...,
	layout="circle",
	groups=NULL,
	vsize.man=3,
	vsize.lat=6,
	filename="qgraph",
	filetype="pdf",
	residuals=TRUE,
	include=1:12,
	curve=0,
	residSize=0.2,
	onefile=TRUE,
	width=12,
	height=8,
	titles=TRUE)

Arguments

fit
A "lavaan" object containing the fit of a SEM model (obtained from e.g. sem and cfa)
...
arguments passed to qgraph. This is both for the path diagram and for the correlation/covariance plots.
layout
The layout used for the path diagram. Can be "tree", "spring", "circle" and "springtree"
groups
An optional list containing the measurement model, see qgraph
vsize.man
Size of the manifest variables in the path diagram
vsize.lat
Size of the latent variables in the path diagram
filename
Name of the file (will be extended with the filetype)
filetype
The filetype to be used. Can be "pdf" to make a pdf (default) or anything else to plot in R. More filetypes will be supported in a future version.
residuals
Omitting residuals is currently not supported for qgraph.lavaan, leave this to TRUE
include
A vector indicating which panels should be included in the output
curve
Numerical value indicating the curve of edges that are on the same level in the "tree" layout, See details. This represent an offset from the middle of the straight edge through where the curved edge must be drawn. 0 indicates no curve, and any other valu
residSize
Size of the residual arrows
onefile
Logical indicating if a multi-page pdf should be produced. If FALSE each plot will be a new pdf. Use this only with panels=1 and filename="(Arbitrary name)%03d".
width
Width of each panel, in inches
height
Height of each panel, in inches
titles
Logical indicating if titles should be printed

encoding

UTF8

Details

This function uses a "lavaan" object and outputs a multi-page pdf file. The function reads the 'lavaan' object and creates a residual variable for each variable present in the model. Layout options include a tree-layout (layout="tree") in which each variable is placed as a node on one of four vertical levels. At the bottom are the residuals of the manifest variables placed, Above that the manifest variables, above that the latent variables and at the top the residuals of the latent variables. The nodes are evenly spaced horizontally in order of appearance in the model (residuals are placed at the same horizontal position of their corresponding variable). So the order of specifying in the model defines the order of placement in the path diagram. If the 'residuals' argument is FALSE then residuals are omitted and this diagram will only contain two levels.

Alternatively the 'spring' layout can be used (layout="spring"). This will use the Fruchterman-reingold algorithm (Fruchterman & Reingold, 1991), which has been ported from the 'sna' package (Butts, 2010). This is a force-directed algorithm. It is best to use this in combination with residuals=FALSE. Another option is a circular layout (default), which is the same as the tree except that the levels are placed in inner circles rather than horizontal lines. Names for variables used in the model specification are passed to the path diagram. To keep the model readable it is advised to limit these names to 3 characters.

References

Sacha Epskamp, Angelique O. J. Cramer, Lourens J. Waldorp, Verena D. Schmittmann, Denny Borsboom (2012). qgraph: Network Visualizations of Relationships in Psychometric Data. Journal of Statistical Software, 48(4), 1-18. URL http://www.jstatsoft.org/v48/i04/.

Carter T. Butts (2010). sna: Tools for Social Network Analysis. R package version 2.2-0. http://CRAN.R-project.org/package=sna

Yves Rosseel (2011). lavaan: Latent Variable Analysis. R package version 0.4-7. http://CRAN.R-project.org/package=lavaan Fruchterman, T. & Reingold, E. (1991). Graph drawing by force-directed placement. Software - Pract. Exp. 21, 1129?1164.

See Also

qgraph qgraph.cfa qgraph.sem sem

Examples

Run this code
## Example from lavaan::sem help file:
require("lavaan")

## The industrialization and Political Democracy Example 
     ## Bollen (1989), page 332
     model <- ' 
       # latent variable definitions
          ind60 =~ x1 + x2 + x3
          dem60 =~ y1 + y2 + y3 + y4
          dem65 =~ y5 + equal("dem60=~y2")*y6 
                      + equal("dem60=~y3")*y7 
                      + equal("dem60=~y4")*y8
     
       # regressions
         dem60 ~ ind60
         dem65 ~ ind60 + dem60
     
       # residual correlations
         y1 ~~ y5
         y2 ~~ y4 + y6
         y3 ~~ y7
         y4 ~~ y8
         y6 ~~ y8
     '
     
     fit <- sem(model, data=PoliticalDemocracy)

# Plot standardized model (numerical):
qgraph.lavaan(fit,layout="tree",vsize.man=5,vsize.lat=10,
	filetype="",include=4,curve=-0.4,edge.label.cex=0.6)

# Plot standardized model (graphical):
qgraph.lavaan(fit,layout="tree",vsize.man=5,vsize.lat=10,
	filetype="",include=8,curve=-0.4,edge.label.cex=0.6)

# Create output document:
qgraph.lavaan(fit,layout="spring",vsize.man=5,vsize.lat=10,
	filename="lavaan")

Run the code above in your browser using DataLab