[R] Getting multiple matrix-values using a single command

David Winsemius dwinsemius at comcast.net
Fri Mar 12 20:31:56 CET 2010


On Mar 12, 2010, at 9:26 AM, Nils Rüfenacht wrote:

> Dear all!
>
> I'm trying to get multiple values from a matrix by using a single  
> command.
>
> Given a matrix A
>
> A <- matrix(seq(1,9),nrow=3,ncol=3)
>
> How can I get e.g. the values A[1,2] = 4 and A[3,3] = 9 with a  
> single command and without using any loop? My first idea was to  
> generate a row- and a column vector for the indices, i.e. c(1,3)  
> indicating row number 1 (for A[1,2]) and row number 3 (for A[3,3])  
> and similar for column-indices. Then I've tried to call
>
> A[c(1,3),c(2,3)]
>
> but instead of 4 , 9 the result is
>
> [,1] [,2]
> [1,]    4    7
> [2,]    6    9

Pass the indices in a matrix:

 >  A[matrix(c(c(1,3), c(2,3)), ncol=2)]
[1] 4 9

-- 
David
>
> Any suggestions?
>
> Regards, Nils
>
> ______________________________________________
> R-help at r-project.org 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list