library(lavaan)
library(semPlot)
mod_pa <-
'x1 ~~ x2
x3 ~ x1 + x2
x4 ~ x1 + x3
'
fit_pa <- lavaan::sem(mod_pa, pa_example, meanstructure = TRUE)
m <- matrix(c("x1", NA, NA, NA,
NA, "x3", NA, "x4",
"x2", NA, NA, NA), byrow = TRUE, 3, 4)
p_pa <- semPaths(fit_pa, whatLabels = "est",
sizeMan = 10,
edge.label.cex = 1.15,
style = "ram",
nCharNodes = 0, nCharEdges = 0,
DoNotPlot = TRUE)
# mark_se
# Error
# test_that(
# "mark_se detects a plot with intercepts",
# expect_error(mark_se(p_pa, fit_pa),
# "have one or more intercepts")
# )
# mark_sig
# test_that(
# "mark_sig detects a plot with intercepts",
# expect_error(mark_sig(p_pa, fit_pa),
# "have one or more intercepts")
# )
# rotate_resid
# Work
# my_rotate_resid_list <- list(list(node = "x3", rotate = 45),
# list(node = "x4", rotate = -45),
# list(node = "x2", rotate = -90))
# p_pa2 <- rotate_resid(p_pa, my_rotate_resid_list)
# plot(p_pa2)
# set_curve
# Work
# my_curve_list <- list(list(from = "x1", to = "x2", new_curve = -1),
# list(from = "x1", to = "x4", new_curve = 1))
# p_pa2 <- set_curve(p_pa, my_curve_list)
# plot(p_pa2)
# set_edge_label_position
# Work
# my_position_list <- list(list(from = "x1", to = "x3", new_position = .25),
# list(from = "x2", to = "x3", new_position = .25),
# list(from = "x1", to = "x4", new_position = .75))
# p_pa2 <- set_edge_label_position(p_pa, my_position_list)
# plot(p_pa2)
# change_node_label
# Work
# p_pa2 <- change_node_label(p_pa,
# list(x1 = "Attitude",
# x2 = "SbjNorm",
# x3 = "Intention",
# x4 = "Behavior"),
# label.cex = 1.1)
# plot(p_pa2)
# set_sem_layout
# Work
# mod <-
# 'f1 =~ x01 + x02 + x03
# f2 =~ x04 + x05 + x06 + x07
# f3 =~ x08 + x09 + x10
# f4 =~ x11 + x12 + x13 + x14
# f3 ~ f1 + f2
# f4 ~ f1 + f3
# '
# fit <- lavaan::sem(mod, sem_example, meanstructure = TRUE)
# p <- semPaths(fit, whatLabels="est",
# sizeMan = 5,
# node.width = 1,
# edge.label.cex = .75,
# style = "ram",
# mar = c(5, 5, 5, 5))
# indicator_order <- c("x04", "x05", "x06", "x07",
# "x01", "x02", "x03",
# "x11", "x12", "x13", "x14",
# "x08", "x09", "x10")
# indicator_factor <- c( "f2", "f2", "f2", "f2",
# "f1", "f1", "f1",
# "f4", "f4", "f4", "f4",
# "f3", "f3", "f3")
# factor_layout <- matrix(c("f1", NA, NA,
# NA, "f3", "f4",
# "f2", NA, NA), byrow = TRUE, 3, 3)
# factor_point_to <- matrix(c("left", NA, NA,
# NA, "down", "down",
# "left", NA, NA), byrow = TRUE, 3, 3)
# p2 <- set_sem_layout(p,
# indicator_order = indicator_order,
# indicator_factor = indicator_factor,
# factor_layout = factor_layout,
# factor_point_to = factor_point_to)
# plot(p2)
# set_cfa_layout
# Does not work. Warnings.
mod <-
'f1 =~ x01 + x02 + x03
f2 =~ x04 + x05 + x06 + x07
f3 =~ x08 + x09 + x10
f4 =~ x11 + x12 + x13 + x14
'
fit <- lavaan::cfa(mod, cfa_example, meanstructure = TRUE)
p <- semPaths(fit, whatLabels="est",
sizeMan = 3.25,
node.width = 1,
edge.label.cex = .75,
style = "ram",
mar = c(10, 5, 10, 5),
DoNotPlot = TRUE)
indicator_order <- c("x04", "x05", "x06", "x07",
"x01", "x02", "x03",
"x11", "x12", "x13", "x14",
"x08", "x09", "x10")
indicator_factor <- c( "f2", "f2", "f2", "f2",
"f1", "f1", "f1",
"f4", "f4", "f4", "f4",
"f3", "f3", "f3")
test_that(
"set_cfa_layout detects a plot with intercepts",
expect_error(set_cfa_layout(p, indicator_order, indicator_factor),
"have one or more intercepts")
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.