Learn R Programming

ramify (version 0.4.0)

mat: Matrices

Description

Like matrix, this function creates a matrix from the given set of values. However, these values can also be represented by a character string, or a list of vectors. Initially inspired by NumPy's matrix function.

Usage

mat(x, ...)

# S3 method for default mat(x, ...)

# S3 method for character mat(x, rows = TRUE, sep = ",", eval = FALSE, ...)

# S3 method for list mat(x, rows = TRUE, ...)

Value

A matrix.

Arguments

x

A data vector, character string, or a list.

...

Additional optional arguments to be passed on to matrix.

rows

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

sep

Separator string. Values within each row/column of x are separated by this string. Default is ",".

eval

Logical indicating whether or not the character string contains R expressions that need to be evaluated. Default is FALSE. See examples below for usage.

See Also

bmat(), dmat(), matrix().

Examples

Run this code
# Creating a matrix from a character string
mat("1, 2, 3, 4; 5, 6, 7, 8") # ";" separates rows
mat("1, 2, 3, 4; 5, 6, 7, 8", rows = FALSE) # ";" separates columns
mat("1 2 3 4; 5 6 7 8", sep = "") # use spaces instead of commas
mat(c(1, 2, 3, 4, 5, 6, 7, 8), nrow = 2, byrow = TRUE) # works like matrix too

# Character strings containing R expressions
mat("rnorm(3); rnorm(3)")
mat("rnorm(3); rnorm(3)", eval = TRUE)
mat("1, 2, 3; 4, 5, pi")
mat("1, 2, 3; 4, 5, pi", eval = TRUE)
mat("-1, -.1; -0.1, -1.0")

# Creating a matrix from a list
z1 <- list(1:5, 6:10)
z2 <- list(a = 1:5, b = 6:10)
mat(z1)
mat(z2) # preserves names as row names
mat(z2, rows = FALSE) # preserves names as column names

Run the code above in your browser using DataLab