From: Huntsinger, Reid <reid_huntsinger_at_merck.com>

Date: Tue 22 Mar 2005 - 09:03:42 EST

R-help@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

R-help@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 Received on Tue Mar 22 09:07:03 2005

Date: Tue 22 Mar 2005 - 09:03:42 EST

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@stat.math.ethz.ch

[mailto:r-help-bounces@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.

- 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 - 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@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

R-help@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 Received on Tue Mar 22 09:07:03 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:30:52 EST
*