Create a Vector into MxMatrix-class

Share:

Description

It converts a vector into MxMatrix-class via mxMatrix.

Usage

1
2
create.mxMatrix(x, type=c("Full","Symm","Diag","Stand"), ncol=NA,
nrow=NA, as.mxMatrix=TRUE, byrow=FALSE, ...) 

Arguments

x

A character or numeric vector

type

Matrix type similar to those listed in mxMatrix

ncol

Number of columns. It is necessary when type="Full". It is ignored and determined by the length of x for the other types of matrices.

nrow

Number of rows. It is necessary when type="Full". It is ignored and determined by the length of x for the other types of matrices.

as.mxMatrix

Logical. If it is TRUE, the output is a matrix of MxMatrix-class. If it is FALSE, it is a numeric matrix.

byrow

Logical. If FALSE (the default) the matrix is filled by columns, otherwise the matrix is filled by rows.

...

Further arguments to be passed to mxMatrix. Please note that type, nrow, ncol, values, free and labels will be created automatically. Thus, these arguments excepts labels should be avoided in ...

Details

If there are non-numeric values in x, they are treated as the labels of the free parameters. If an "*" is present, the numeric value on the left hand side will be treated as the starting value for a free parameter or a fixed value for a fixed parameter. If it is a matrix of numeric values, there is no free parameters in the output matrix. nrow and ncol will be calculated from the length of x unless type="Full" is specified.

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

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
## a and b are free parameters with starting values and labels
(a1 <- c(1:4, "5*a", 6, "7*b", 8, 9))

(mat1 <- create.mxMatrix(a1, ncol=3, nrow=3, name="mat1"))

## Arrange the elements by row
(mat2 <- create.mxMatrix(a1, ncol=3, nrow=3, as.mxMatrix=FALSE, byrow=TRUE))

(a3 <- c(1:3, "4*f4", "5*f5", "6*f6"))

(mat3 <- create.mxMatrix(a3, type="Symm", name="mat3"))

## Create character matrix
(mat4 <- create.mxMatrix(a3, type="Symm", as.mxMatrix=FALSE))

## Arrange the elements by row
(mat5 <- create.mxMatrix(a3, type="Symm", as.mxMatrix=FALSE, byrow=TRUE))

(mat6 <- create.mxMatrix(a3, type="Diag", lbound=6:1, name="mat6"))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.