Matrix to (Atomic) Vector
m2v converts a matrix to a (atomic) vector. The benefit of m2v
over as.vector or c is that 1) the vector can be formed along rows
as well as columns and 2) the dimnames from m can be used for the names of
the returned vector.
m2v(m, along = 2, use.dimnames = TRUE, sep = "_", check = TRUE)
| m | matrix | 
| along | numeric vector of length one that is equal to either 1 or 2.
1 means that  | 
| use.dimnames | logical vector of length 1 that specifies whether the dimnames
of  | 
| sep | character vector of length 1 specifying the string that will separate
the rownames and colnames in the naming scheme of the return object. Note,  | 
| check | logical vector of length 1 specifying whether to check the structure
of the input arguments. For example, check whether  | 
If use.dimnames = TRUE, then each element's name will be analogous to
paste(rownames(m)[i], colnames(m)[j], sep = sep). If m does not
have rownames and/or colnames, then they will be replaced by dimension positions.
This is also true when m has only one row *and* one column. The exception
is when m has either a single row *or* single column. In these cases,
only the non-single dimension's names will be used. If m has one row,
then the names of the returned vector will be colnames(m). If m
has one column, then the names of the returned vector will be rownames(m).
Again, if m does not have rownames and/or colnames, then they will be
replaced by dimension positions.
(atomic) vector of length = length(m) where the order of elements
from m has been determined by along and the names determined by
the use.dimnames, dimnames(m), and sep. See details for when
use.dimnames = TRUE.
# general matrix mtcars2 <- as.matrix(mtcars, rownames.force = TRUE) # to make sure dimnames stay in the example m2v(mtcars2) # default m2v(m = mtcars2, along = 1) # concatenate along rows m2v(m = mtcars2, sep = ".") # change the sep of the rownames(m) and colnames(m) m2v(m = `dimnames<-`(mtcars2, list(NULL, NULL))) # use dimension positions as dimnames m2v(m = mtcars2, use.dimnames = FALSE) # return object has no names # one row/column matrix one_row <- mtcars2[1,, drop = FALSE] m2v(one_row) one_col <- mtcars2[, 1, drop = FALSE] m2v(one_col) one_all <- mtcars2[1,1, drop = FALSE] m2v(one_all) m2v(one_all, use.dimnames = FALSE)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.