as.mxMatrix {metaSEM} | R Documentation |
Convert a Matrix into MxMatrix-class
Description
It converts a matrix into MxMatrix-class
via mxMatrix
.
Usage
as.mxMatrix(x, name, ...)
Arguments
x |
A character or numeric matrix. If |
name |
An optional character string as the name of the
MxMatrix object created by mxModel function. If the |
... |
Further arguments to be passed to
|
Details
If there are non-numeric values in x
, they are treated
as the labels of the parameters. If a "*" is
present, the numeric value on the left-hand side will be treated as
the starting value for a free parameter. If an "@" is present, the numeric value on the left-hand
side will be considered as the value for a fixed parameter. If it is a matrix of numeric values, there are
no free parameters in the output matrix.
Value
A MxMatrix-class
object with the same
dimensions as x
Author(s)
Mike W.-L. Cheung <mikewlcheung@nus.edu.sg>
See Also
mxMatrix
,
create.mxMatrix
,
create.Fmatrix
,
checkRAM
,
lavaan2RAM
,
as.symMatrix
Examples
## a and b are free parameters with starting values and labels
(a1 <- matrix(c(1:4, "5*a", 6, "7*b", 8, 9), ncol=3, nrow=3))
# [,1] [,2] [,3]
# [1,] "1" "4" "7*b"
# [2,] "2" "5*a" "8"
# [3,] "3" "6" "9"
a1 <- as.mxMatrix(a1)
## a and b are fixed parameters without any labels, name="new2"
(a2 <- matrix(1:9, ncol=3, nrow=3))
# [,1] [,2] [,3]
# [1,] 1 4 7
# [2,] 2 5 8
# [3,] 3 6 9
new2 <- as.mxMatrix(a2, name="new2")
## Free parameters without starting values
(a3 <- matrix(c(1:4, "*a", 6, "*b", 8, 9), ncol=3, nrow=3))
# [,1] [,2] [,3]
# [1,] "1" "4" "*b"
# [2,] "2" "*a" "8"
# [3,] "3" "6" "9"
a3 <- as.mxMatrix(a3, lbound=0)
## A free parameter without label
(a4 <- matrix(c(1:4, "5*", 6, "7*b", 8, 9), ncol=3, nrow=3))
# [,1] [,2] [,3]
# [1,] "1" "4" "7*b"
# [2,] "2" "5*" "8"
# [3,] "3" "6" "9"
a4 <- as.mxMatrix(a4)
## Convert a scalar into mxMatrix object
## "name" is required as "3*a" is not a valid name.
(a5 <- as.mxMatrix("3*a", name="a5"))
## Free and fixed parameters
(a6 <- matrix(c(1, "2*a", "3@b", 4), ncol=2, nrow=2))
as.mxMatrix(a6)