Re: [R] convert vector to matrix

From: Gavin Simpson <gavin.simpson_at_ucl.ac.uk>
Date: Wed 04 Oct 2006 - 22:54:45 GMT

On Wed, 2006-10-04 at 19:55 -0200, Alberto Monteiro wrote:
> Gavin Simpson wrote:
> >
> > Did you even try to use cbind on your vector? I guess not as,
> >
> > > vec <- 1:10
> > > mat <- cbind(vec)
> > > mat
> >
> Why does mat remain a matrix instead of "losing" one dimension?
> I am reading the FAQ at...
> http://cran.us.r-project.org/doc/FAQ/R-FAQ.html#Why-do-my-matrices-lose-
> dimensions_003f
> ... and it seems that anything you do to mat should turn it back
> into a one-dimensional vector.

Dear Alberto,

That FAQ is referring to subsetting a matrix, and as yet, the code above has not subsetted mat at all - indeed, we have only created it and then examined it's class, if we were to now look at rows 2:5, then we'd see that mat loses a dimension and reverts to a vector:

> vec <- 1:10
> mat <- cbind(vec)
> mat

      vec

 [1,]   1
 [2,]   2
 [3,]   3
 [4,]   4
 [5,]   5
 [6,]   6
 [7,]   7
 [8,]   8
 [9,]   9

[10,] 10
> mat[2:5,]

[1] 2 3 4 5
> vec[2:5]

[1] 2 3 4 5
> class(mat[2:5,])

[1] "integer"
> class(vec[2:5])

[1] "integer"
> all.equal(mat[2:5,], vec[2:5])

[1] TRUE To preserve dimensions, we use drop = FALSE, as discussed in the FAQ you quote:

> mat[2:5, , drop = FALSE]

     vec

[1,]   2
[2,]   3
[3,]   4
[4,]   5

> class(mat[2:5, , drop = FALSE])

[1] "matrix"

HTH G

-- 
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 *Note new Address and Fax and Telephone numbers from 10th April 2006*
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
Gavin Simpson                     [t] +44 (0)20 7679 0522
ECRC                              [f] +44 (0)20 7679 0565
UCL Department of Geography
Pearson Building                  [e] gavin.simpsonATNOSPAMucl.ac.uk
Gower Street
London, UK                        [w] http://www.ucl.ac.uk/~ucfagls/cv/
WC1E 6BT                          [w] http://www.ucl.ac.uk/~ucfagls/
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%

______________________________________________
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
and provide commented, minimal, self-contained, reproducible code.
Received on Thu Oct 05 08:58:11 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Wed 04 Oct 2006 - 23:30:08 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.