drawModel | R Documentation |
Draw statistical diagram with an object of class lavaan or a list of class lm
drawModel( semfit = NULL, labels = NULL, equation = NULL, vars = list(), moderator = list(), covar = NULL, data = NULL, nodelabels = NULL, arrowslabels = NULL, whatLabel = "name", mode = 1, nodemode = 1, xmargin = 0.02, radx = NULL, ymargin = 0.02, xlim = NULL, ylim = NULL, box.col = "white", palette = NULL, reverse = FALSE, rady = 0.06, maxypos = NULL, minypos = 0, ypos = c(1, 0.5), mpos = c(0.5, 0.9), xinterval = NULL, yinterval = NULL, xspace = NULL, node.pos = list(), arrow.pos = list(), interactionFirst = FALSE, totalOnly = FALSE, parallel = FALSE, parallel2 = FALSE, parallel3 = FALSE, kmediator = FALSE, serial = FALSE, bmatrix = NULL, label.pos = 1, curved.arrow = list(), segment.arrow = list(), digits = 3, showPos = FALSE, drawCovar = TRUE, drawbox = FALSE )
semfit |
An object of class lavaan or a list of class lm |
labels |
list of variable names |
equation |
Optional string contains equation |
vars |
A list |
moderator |
A list |
covar |
A list |
data |
A data.frame |
nodelabels |
list of nodes names |
arrowslabels |
list of arrows names |
whatLabel |
What should the edge labels indicate in the path diagram? Choices are c("est","name","estSE") |
mode |
integer If 1, models with categorical X |
nodemode |
integer If 1, separate node name and node label |
xmargin |
horizontal margin between nodes |
radx |
horizontal radius of the box. |
ymargin |
vertical margin between nodes |
xlim |
the x limits (min,max) of the plot |
ylim |
the y limits (min,max) of the plot |
box.col |
fill color of the box |
palette |
character. palette name |
reverse |
logical. Reverse palette or not. |
rady |
vertical radius of the box. |
maxypos |
maximal y position of X or W variables |
minypos |
minimal y position of X or W variables |
ypos |
The x and y position of Y node. Default value is c(1,0.5) |
mpos |
The x and y position of M node. Default value is c(0.5,0.9) |
xinterval |
numeric. Horizontal intervals among labels for nodes and nodes |
yinterval |
numeric. Vertical intervals among labels for nodes and nodes |
xspace |
numeric. Horizontal distance between nodes |
node.pos |
Optional list of node position |
arrow.pos |
Optional list of arrow label position |
interactionFirst |
logical If true, place nodes with interaction first |
totalOnly |
logical If true, draw total effect model only |
parallel |
logical If true, draw parallel multiple mediation model |
parallel2 |
logical If true, draw parallel2 multiple mediation model |
parallel3 |
logical If true, draw parallel3 multiple mediation model |
kmediator |
logical If true, draw parallel multiple mediation model with k mediator |
serial |
Logical. If TRUE, serial variables are added |
bmatrix |
integer specifying causal relations among mediators |
label.pos |
Integer Position of nodelabels. Choices are one of 1:2 |
curved.arrow |
Optional list of curved arrow |
segment.arrow |
Optional list of curved arrow |
digits |
integer indicating the number of decimal places |
showPos |
logical If true print node position |
drawCovar |
logical If true, draw covariates |
drawbox |
logical If true, draw rectangle |
library(lavaan) labels=list(X="frame",Y="donate") drawModel(labels=labels) drawModel(labels=labels,arrowslabels=list(c="c")) labels=list(X="frame",W="skeptic",M="justify",Y="donate") moderator=list(name="skeptic",site=list(c("a","c"))) model=tripleEquation(labels=labels,moderator=moderator,data=disaster) semfit=sem(model=model,data=disaster) drawModel(semfit,labels=labels,interactionFirst=TRUE) labels=list(X="protest",W="sexism",M="respappr",Y="liking") moderator=list(name="sexism",site=list(c("a","c"))) data1=addCatVars(protest,"protest",mode=3) model=catMediation(X="protest",M="respappr",Y="liking",moderator=moderator,data=protest,maxylev=6) semfit=sem(model,data=data1) nodelabels=list(D1="Ind.Protest",D2="Col.Protest",W="sexism",M="respappr",Y="liking") drawModel(semfit,labels=labels,nodelabels=nodelabels,whatLabel="name", xlim=c(-0.4,1.3)) drawModel(semfit,labels=labels) labels=list(X="cyl",M=c("am","wt","hp"),Y="mpg",W="vs") moderator=list(name=c("vs"),site=list(c("a1","b1"))) model=multipleMediation(labels=labels,moderator=moderator,data=mtcars) semfit=sem(model=model,data=mtcars) drawModel(semfit,labels=labels,maxypos=0.5) labels=list(X="X",M=c("M1","M2","M3"),Y="Y") nodelabels=c(X="Intervention\n(vs.control)", M=c("Restrained\nEating","Emotional\nEating","Perceived\nBarriers to\nExercise"),Y="Weight Loss") drawModel(labels=labels,nodelabels=nodelabels,whatLabel="none",parallel=TRUE, ylim=c(-0.3,1.2),label.pos=2) labels=list(X="X",M=c("M1","M2","Mk-1","Mk"),Y="Y") drawModel(labels=labels,parallel=TRUE,kmediator=TRUE,nodemode=2, arrow.pos=list(c=0.4),serial=FALSE,radx=0.08) labels=list(X="cond",M=c("import","pmi"),Y="reaction") drawModel(labels=labels,parallel=TRUE) drawModel(labels=labels,parallel=TRUE,serial=TRUE) model=multipleMediation(labels=labels,data=pmi,serial=TRUE) model=multipleMediation(labels=labels,data=pmi) cat(model) semfit=sem(model=model,data=pmi) drawModel(semfit,labels=labels,parallel=TRUE) drawModel(semfit,labels=labels,whatLabel="est",parallel=TRUE) labels=list(X="X",M=c("M1","M2"),Y="Y") drawModel(labels=labels,serial=TRUE,nodemode=4) labels=list(X="X",M=c("M1","M2","M3"),Y="Y") drawModel(labels=labels,serial=TRUE) equation='M1~X M2~X+M1 M3~X+M1 Y~X+M1+M2+M3' node.pos=list(X=c(0,0.5),M1=c(0.5,0.5),M2=c(0.75,0.9),M3=c(0.75,0.1),Y=c(1,0.5)) curved.arrow=list(a2=-0.1,a3=0.1,c=-0.15) drawModel(equation=equation,nodemode=2,node.pos=node.pos,curved.arrow=curved.arrow) equation='M1~X M2~X M3~X M4~X+M1+M2+M3 Y~X+M1+M2+M3+M4' node.pos=list(X=c(0,0.5),M1=c(0.35,0.9),M2=c(0.35,0.5),M3=c(0.35,0.1),M4=c(0.7,0.5),Y=c(1,0.5)) curved.arrow=list(a4=0.15,b2=0.15) segment.arrow=list(c=0.5) drawModel(equation=equation,nodemode=2,node.pos=node.pos,radx=0.08,curved.arrow=curved.arrow, segment.arrow=segment.arrow) labels=list(X="baby",M="wine",Y="tile") moderator=list(name=c("milk"),site=list("a")) covar=list(name=c("milk","tent","sand"),site=list(c("Y"),c("M","Y"),c("M","Y"))) drawModel(labels=labels,moderator=moderator,covar=covar,palette="Set3")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.