[R] subsetting a matrix

(Ted Harding) Ted.Harding at nessie.mcc.ac.uk
Tue Sep 30 20:48:09 CEST 2003

On 30-Sep-03 Rajarshi Guha wrote:
> Hi,
>   I'm trying to take a set of rows and columns out of a matrix. I hve
> been using the index aray approach. My overll matrix is X and is 179 x
> 65. I want to take out 4 columns and 161 rows.
> Thus I made a 161 x 2 array I and filled it up with the row,col
> indices.
> However doing,
> X[ I ] gives me a vector of the extracted elements. Is there anyway I
> can coerce this into a 161 x 4 matrix?


should do it. E.g.


Alternatively you can make index vectors iR (for rows), iC (for cols)
which have values TRUE for what you want to select and FALSE for the
rest; then


will also do it. There are other approaches -- you should choose
whichever most closely fits in with your criteria for row and column
selection. E.g.


would also do! What it all boils down to is an expression of the form

  X[rowselector, colselector]

Hope this helps,

E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 167 1972
Date: 30-Sep-03                                       Time: 19:48:09
------------------------------ XFMail ------------------------------

More information about the R-help mailing list