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

Don MacQueen macq at llnl.gov
Sat Mar 13 02:37:10 CET 2010


Everyone is being too complicated.

   c( A[1,2] , A[3,3] )

will do what you ask.

>  A <- matrix(seq(1,9),nrow=3)

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

But I would assume you have some more general 
problem in mind, and I do not know if this simple 
approach will meet those needs.

-Don

At 3:26 PM +0100 3/12/10, 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
>
>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.


-- 
---------------------------------
Don MacQueen
Lawrence Livermore National Laboratory
Livermore, CA, USA
925-423-1062
macq at llnl.gov



More information about the R-help mailing list