[R] flatten a matrix and unflatten it
Huntsinger, Reid
reid_huntsinger at merck.com
Mon Mar 21 23:03:42 CET 2005
If you can rearrange things to work column-wise rather than row-wise, then
dim(x) <- NULL
makes a matrix into a vector by concatenating columns, and
dim(x) <- c(m,n)
makes the vector x into a matrix with column 1 equal to the first m elements
of x, column 2 equal to the next m elements, etc.
If you need row-major order, you can do
x <- as.vector(t(x))
and
x <- matrix(x,nrow=m,ncol=n,byrow=TRUE)
Reid Huntsinger
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Bill Simpson
Sent: Monday, March 21, 2005 4:44 PM
To: r-help
Subject: [R] flatten a matrix and unflatten it
I want to flatten a matrix and unflatten it again. Please tell me how to
do it.
1. given a matrix:
x1 y1 z1
x2 y2 z2
...
xk yk zk
convert it to a vector:
x1, y1, z1, x2, y2, z2, ..., xk, yk, zk
2. given a vector:
x1, y1, z1, x2, y2, z2, ..., xk, yk, zk
convert it to a matrix
x1 y1 z1
x2 y2 z2
...
xk yk zk
It is known that the number of dimensions is 3.
Thanks for any help!
Bill
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list