Repositioning semPaths() elements for a lavaan CLP model with 3 waves
I'm looking for a way to reposition semPlot::semPaths()
elements drawn from a lavaan::sem()
fitted crossed lagged panel model data with 3 time points.
This is what I get when running:
library(semPlot)
semPaths(fit1, edge.label.cex = .5, rotation = 2, style = "lisrel",
intercepts = FALSE, residuals = TRUE, curve = 1, curvature = 3,
nCharNodes = 8, sizeMan = 6, sizeMan2 = 3, optimizeLatRes = TRUE,
edge.color = "#000000")
In red boxes are groupped 3 waves. What I'd like insted, is something like this: (I'm not the author of this plot)
My paths are correct, but no matter what I do, the *t2
wave group won't move to the center of the chart. Is there anyway around this?
For a fully reproducible example run this:
library(lavaan)
library(semPlot)
df <- data.frame(CNt1=rnorm(100),
CNt2=rnorm(100),
CNt3=rnorm(100),
ISt1=rnorm(100),
ISt2=rnorm(100),
ISt3=rnorm(100),
SESt1=rnorm(100),
SESt2=rnorm(100),
SESt3=rnorm(100),
OUTt1=rnorm(100),
OUTt2=rnorm(100),
OUTt3=rnorm(100))
model1 <- '
CNt1 ~~ ISt1
CNt1 ~~ SESt1
CNt1 ~~ OUTt1
ISt1 ~~ SESt1
ISt1 ~~ OUTt1
SESt1 ~~ OUTt1
CNt2 ~~ ISt2
CNt2 ~~ SESt2
CNt2 ~~ OUTt2
ISt2 ~~ SESt2
ISt2 ~~ OUTt2
SESt2 ~~ OUTt2
CNt3 ~~ ISt3
CNt3 ~~ SESt3
CNt3 ~~ OUTt3
ISt3 ~~ SESt3
ISt3 ~~ OUTt3
SESt3 ~~ OUTt3
CNt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
ISt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
SESt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
OUTt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
CNt3 ~ CNt1 + OUTt2 + CNt2 + ISt2 + SESt2
ISt3 ~ ISt1 + OUTt2 + CNt2 + ISt2 + SESt2
SESt3 ~ SESt1 + OUTt2 + CNt2 + ISt2 + SESt2
OUTt3 ~ OUTt1 + OUTt2 + CNt2 + ISt2 + SESt2
'
fit1 <- sem(model1, data=df, fixed.x=FALSE)
semPaths(fit1, edge.label.cex = .5, rotation = 2, style = "lisrel",
intercepts = FALSE, residuals = TRUE, curve = 1, curvature = 3,
nCharNodes = 8, sizeMan = 6, sizeMan2 = 3, optimizeLatRes = TRUE,
edge.color = "#000000")
r r-lavaan sem semplot
add a comment |
I'm looking for a way to reposition semPlot::semPaths()
elements drawn from a lavaan::sem()
fitted crossed lagged panel model data with 3 time points.
This is what I get when running:
library(semPlot)
semPaths(fit1, edge.label.cex = .5, rotation = 2, style = "lisrel",
intercepts = FALSE, residuals = TRUE, curve = 1, curvature = 3,
nCharNodes = 8, sizeMan = 6, sizeMan2 = 3, optimizeLatRes = TRUE,
edge.color = "#000000")
In red boxes are groupped 3 waves. What I'd like insted, is something like this: (I'm not the author of this plot)
My paths are correct, but no matter what I do, the *t2
wave group won't move to the center of the chart. Is there anyway around this?
For a fully reproducible example run this:
library(lavaan)
library(semPlot)
df <- data.frame(CNt1=rnorm(100),
CNt2=rnorm(100),
CNt3=rnorm(100),
ISt1=rnorm(100),
ISt2=rnorm(100),
ISt3=rnorm(100),
SESt1=rnorm(100),
SESt2=rnorm(100),
SESt3=rnorm(100),
OUTt1=rnorm(100),
OUTt2=rnorm(100),
OUTt3=rnorm(100))
model1 <- '
CNt1 ~~ ISt1
CNt1 ~~ SESt1
CNt1 ~~ OUTt1
ISt1 ~~ SESt1
ISt1 ~~ OUTt1
SESt1 ~~ OUTt1
CNt2 ~~ ISt2
CNt2 ~~ SESt2
CNt2 ~~ OUTt2
ISt2 ~~ SESt2
ISt2 ~~ OUTt2
SESt2 ~~ OUTt2
CNt3 ~~ ISt3
CNt3 ~~ SESt3
CNt3 ~~ OUTt3
ISt3 ~~ SESt3
ISt3 ~~ OUTt3
SESt3 ~~ OUTt3
CNt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
ISt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
SESt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
OUTt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
CNt3 ~ CNt1 + OUTt2 + CNt2 + ISt2 + SESt2
ISt3 ~ ISt1 + OUTt2 + CNt2 + ISt2 + SESt2
SESt3 ~ SESt1 + OUTt2 + CNt2 + ISt2 + SESt2
OUTt3 ~ OUTt1 + OUTt2 + CNt2 + ISt2 + SESt2
'
fit1 <- sem(model1, data=df, fixed.x=FALSE)
semPaths(fit1, edge.label.cex = .5, rotation = 2, style = "lisrel",
intercepts = FALSE, residuals = TRUE, curve = 1, curvature = 3,
nCharNodes = 8, sizeMan = 6, sizeMan2 = 3, optimizeLatRes = TRUE,
edge.color = "#000000")
r r-lavaan sem semplot
add a comment |
I'm looking for a way to reposition semPlot::semPaths()
elements drawn from a lavaan::sem()
fitted crossed lagged panel model data with 3 time points.
This is what I get when running:
library(semPlot)
semPaths(fit1, edge.label.cex = .5, rotation = 2, style = "lisrel",
intercepts = FALSE, residuals = TRUE, curve = 1, curvature = 3,
nCharNodes = 8, sizeMan = 6, sizeMan2 = 3, optimizeLatRes = TRUE,
edge.color = "#000000")
In red boxes are groupped 3 waves. What I'd like insted, is something like this: (I'm not the author of this plot)
My paths are correct, but no matter what I do, the *t2
wave group won't move to the center of the chart. Is there anyway around this?
For a fully reproducible example run this:
library(lavaan)
library(semPlot)
df <- data.frame(CNt1=rnorm(100),
CNt2=rnorm(100),
CNt3=rnorm(100),
ISt1=rnorm(100),
ISt2=rnorm(100),
ISt3=rnorm(100),
SESt1=rnorm(100),
SESt2=rnorm(100),
SESt3=rnorm(100),
OUTt1=rnorm(100),
OUTt2=rnorm(100),
OUTt3=rnorm(100))
model1 <- '
CNt1 ~~ ISt1
CNt1 ~~ SESt1
CNt1 ~~ OUTt1
ISt1 ~~ SESt1
ISt1 ~~ OUTt1
SESt1 ~~ OUTt1
CNt2 ~~ ISt2
CNt2 ~~ SESt2
CNt2 ~~ OUTt2
ISt2 ~~ SESt2
ISt2 ~~ OUTt2
SESt2 ~~ OUTt2
CNt3 ~~ ISt3
CNt3 ~~ SESt3
CNt3 ~~ OUTt3
ISt3 ~~ SESt3
ISt3 ~~ OUTt3
SESt3 ~~ OUTt3
CNt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
ISt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
SESt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
OUTt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
CNt3 ~ CNt1 + OUTt2 + CNt2 + ISt2 + SESt2
ISt3 ~ ISt1 + OUTt2 + CNt2 + ISt2 + SESt2
SESt3 ~ SESt1 + OUTt2 + CNt2 + ISt2 + SESt2
OUTt3 ~ OUTt1 + OUTt2 + CNt2 + ISt2 + SESt2
'
fit1 <- sem(model1, data=df, fixed.x=FALSE)
semPaths(fit1, edge.label.cex = .5, rotation = 2, style = "lisrel",
intercepts = FALSE, residuals = TRUE, curve = 1, curvature = 3,
nCharNodes = 8, sizeMan = 6, sizeMan2 = 3, optimizeLatRes = TRUE,
edge.color = "#000000")
r r-lavaan sem semplot
I'm looking for a way to reposition semPlot::semPaths()
elements drawn from a lavaan::sem()
fitted crossed lagged panel model data with 3 time points.
This is what I get when running:
library(semPlot)
semPaths(fit1, edge.label.cex = .5, rotation = 2, style = "lisrel",
intercepts = FALSE, residuals = TRUE, curve = 1, curvature = 3,
nCharNodes = 8, sizeMan = 6, sizeMan2 = 3, optimizeLatRes = TRUE,
edge.color = "#000000")
In red boxes are groupped 3 waves. What I'd like insted, is something like this: (I'm not the author of this plot)
My paths are correct, but no matter what I do, the *t2
wave group won't move to the center of the chart. Is there anyway around this?
For a fully reproducible example run this:
library(lavaan)
library(semPlot)
df <- data.frame(CNt1=rnorm(100),
CNt2=rnorm(100),
CNt3=rnorm(100),
ISt1=rnorm(100),
ISt2=rnorm(100),
ISt3=rnorm(100),
SESt1=rnorm(100),
SESt2=rnorm(100),
SESt3=rnorm(100),
OUTt1=rnorm(100),
OUTt2=rnorm(100),
OUTt3=rnorm(100))
model1 <- '
CNt1 ~~ ISt1
CNt1 ~~ SESt1
CNt1 ~~ OUTt1
ISt1 ~~ SESt1
ISt1 ~~ OUTt1
SESt1 ~~ OUTt1
CNt2 ~~ ISt2
CNt2 ~~ SESt2
CNt2 ~~ OUTt2
ISt2 ~~ SESt2
ISt2 ~~ OUTt2
SESt2 ~~ OUTt2
CNt3 ~~ ISt3
CNt3 ~~ SESt3
CNt3 ~~ OUTt3
ISt3 ~~ SESt3
ISt3 ~~ OUTt3
SESt3 ~~ OUTt3
CNt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
ISt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
SESt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
OUTt2 ~ OUTt1 + CNt1 + ISt1 + SESt1
CNt3 ~ CNt1 + OUTt2 + CNt2 + ISt2 + SESt2
ISt3 ~ ISt1 + OUTt2 + CNt2 + ISt2 + SESt2
SESt3 ~ SESt1 + OUTt2 + CNt2 + ISt2 + SESt2
OUTt3 ~ OUTt1 + OUTt2 + CNt2 + ISt2 + SESt2
'
fit1 <- sem(model1, data=df, fixed.x=FALSE)
semPaths(fit1, edge.label.cex = .5, rotation = 2, style = "lisrel",
intercepts = FALSE, residuals = TRUE, curve = 1, curvature = 3,
nCharNodes = 8, sizeMan = 6, sizeMan2 = 3, optimizeLatRes = TRUE,
edge.color = "#000000")
r r-lavaan sem semplot
r r-lavaan sem semplot
asked Nov 20 '18 at 20:50
blazej
472214
472214
add a comment |
add a comment |
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53401310%2frepositioning-sempaths-elements-for-a-lavaan-clp-model-with-3-waves%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53401310%2frepositioning-sempaths-elements-for-a-lavaan-clp-model-with-3-waves%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown