Create the layout matrix from a list of coordinates for semPaths.
layout_matrix(...)
Each node in the matrix is specified by this form: name = c(x, y)
. The name
is the node label, and the vector is the
position of the node. The first element is the x
position, and
the second element is the y
position, measured from the top left
corner. The size of the grid is determined automatically. For a
grid of n rows and m columns, the top left cell is specified by
c(1, 1)
, and the bottom right cell is specified by c(n, m)
.
A layout matrix for the layout argument of
semPlot::semPaths()
.
The layout argument in semPlot::semPaths()
accepts a
matrix with node labels as the elements, and NA
for empty cells.
This function allows user to create the matrix using a list of
coordinates for the node labels.
# Suppose this is the layout to be created:
m0 <- matrix(c("x1", NA, NA, NA,
"x2", "x3", NA, NA,
NA, "x4", NA, "x5"), byrow = TRUE, 3, 4)
# This call will create the same matrix.
m1 <- layout_matrix(x1 = c(1, 1),
x2 = c(2, 1),
x3 = c(2, 2),
x4 = c(3, 2),
x5 = c(3, 4))
#The two matrices should be identical.
m0 == m1
#> [,1] [,2] [,3] [,4]
#> [1,] TRUE NA NA NA
#> [2,] TRUE TRUE NA NA
#> [3,] NA TRUE NA TRUE