Learn R Programming

sem (version 2.1-0)

pathDiagram: Draw Path Diagram

Description

pathDiagram creates a description of the path diagram for a structural-equation-model object to be processed by the graph-drawing program dot, which can be called automatically; see Koutsofios and North (2002) and http://www.graphviz.org/. To obtain graphics output directly, the dot program must be on the system search path.

Usage

## S3 method for class 'sem':
pathDiagram(model, file, min.rank=NULL, max.rank=NULL,
	same.rank=NULL, variables=model$var.names, parameters=rownames(model$ram),
	ignore.double=TRUE, edge.labels=c("names", "values", "both"), 
	size=c(8, 8), node.font=c("Helvetica", 14),
	edge.font=c("Helvetica", 10), rank.direction=c("LR", "TB"), 
	digits=2, standardize=FALSE, output.type=c("graphics", "dot"),
	graphics.fmt="pdf", dot.options=NULL, ...)

Arguments

model
a structural-equation-model object produced by sem.
...
ignored.
file
a file name, given without an extension, to which to write the dot description of the path diagram and, by default, to use that to draw a graph of the model; if not specified, the dot description is written to standar
min.rank
a character string listing names of variables to be assigned minimum rank (order) in the graph; the names should be separated by commas.
max.rank
a character string listing names of variables to be assigned maximum rank in the graph; the names should be separated by commas.
same.rank
a character string or vector of character strings of variables to be assigned equivalent rank in the graph; names in each string should be separated by commas.
variables
variable names; defaults to the variable names in model. If specified, the variable names should be in the same order as in model.
parameters
parameter names; defaults to the parameter names in model. If specified, the parameter names should be in the same order as in model.
ignore.double
if TRUE, the default, double-headed arrows, representing variances and covariances, are not graphed.
edge.labels
"names" to label arrows with parameter names; "values" to label arrows with parameter estimates, or "both".
size
the size of the graph, in inches.
node.font
font name and point-size for printing variable names.
edge.font
font name and point-size for printing arrow names or values.
rank.direction
draw graph left-to-right, "LR", the default, or top-to-bottom, "TB".
digits
number of digits after the decimal point (default, 2) to which to round parameter estimates.
standardize
if TRUE, display standardized coefficients; default is FALSE.
output.type
if "graphics", the default, both a ".dot" file and a graphics file will be created.
graphics.fmt
a graphics format recognized by the dot program; the default is "pdf"; graphics.fmt is also used for the extension of the graphics file that is created.
dot.options
options to be passed to the dot program, given as a character string.

Value

  • NULL: pathDiagram is used for its side-effect, producing a graph description of the model.

References

Koutsofios, E., and North, S. C. (2002) Drawing graphs with dot. http://www.graphviz.org/Documentation/dotguide.pdf.

See Also

sem

Examples

Run this code
# The Duncan, Haller, and Portes Peer-Influences Model

R.DHP <- readMoments(diag=FALSE, names=c('ROccAsp', 'REdAsp', 'FOccAsp', 
                'FEdAsp', 'RParAsp', 'RIQ', 'RSES', 'FSES', 'FIQ', 'FParAsp'))
    .6247                                                              
    .3269  .3669                                                        
    .4216  .3275  .6404                                      
    .2137  .2742  .1124  .0839                                
    .4105  .4043  .2903  .2598  .1839                          
    .3240  .4047  .3054  .2786  .0489  .2220                    
    .2930  .2407  .4105  .3607  .0186  .1861  .2707              
    .2995  .2863  .5191  .5007  .0782  .3355  .2302  .2950        
    .0760  .0702  .2784  .1988  .1147  .1021  .0931 -.0438  .2087  

model.dhp <- specifyModel()
    RParAsp  -> RGenAsp, gam11,  NA
    RIQ      -> RGenAsp, gam12,  NA
    RSES     -> RGenAsp, gam13,  NA
    FSES     -> RGenAsp, gam14,  NA
    RSES     -> FGenAsp, gam23,  NA
    FSES     -> FGenAsp, gam24,  NA
    FIQ      -> FGenAsp, gam25,  NA
    FParAsp  -> FGenAsp, gam26,  NA
    FGenAsp  -> RGenAsp, beta12, NA
    RGenAsp  -> FGenAsp, beta21, NA
    RGenAsp  -> ROccAsp,  NA,       1
    RGenAsp  -> REdAsp,  lam21,  NA
    FGenAsp  -> FOccAsp,  NA,       1
    FGenAsp  -> FEdAsp,  lam42,  NA
    RGenAsp <-> RGenAsp, ps11,   NA
    FGenAsp <-> FGenAsp, ps22,   NA
    RGenAsp <-> FGenAsp, ps12,   NA
    ROccAsp <-> ROccAsp, theta1, NA
    REdAsp  <-> REdAsp,  theta2, NA
    FOccAsp <-> FOccAsp, theta3, NA
    FEdAsp  <-> FEdAsp,  theta4, NA

sem.dhp <- sem(model.dhp, R.DHP, 329,
    fixed.x=c('RParAsp', 'RIQ', 'RSES', 'FSES', 'FIQ', 'FParAsp'))
    
pathDiagram(sem.dhp, min.rank='RIQ, RSES, RParAsp, FParAsp, FSES, FIQ', 
    max.rank='ROccAsp, REdAsp, FEdAsp, FOccAsp')

Run the code above in your browser using DataLab