[R] Filling matrices

David Stevens david.stevens at usu.edu
Mon Mar 19 22:07:18 CET 2012

I'm a bit clumsy about many things in R. Here's my problem. I'm trying 
to build a square sparse matrix and populate it without looping (bad 
practice, right). I have vectors of matched row/column pairs for which 
the matrix entries have common characteristics and am look for a way to 
fill the entries. So, if the matrix is A[20 by 20], and I might have rows

  iRows <- c(2,3,4,6,7,8,10,11,12,14,15,16,18,19)

and columns

  iCols <- c(1,2,3,5,6,7,9,10,11,13,14,15,17,18)

and you see these are most of the subdiagonal terms in A from rows 2-19. 
They are all calculated in a similar way using values from a data frame 
in which the terms are generally in iRows and iCols.

I could loop through each pair and all's well, but my question is 
whether there's an R-certified alternative, that will speed things up 
when the matrix is much larger (it will be - this is a prototype).

Any thoughts?

David S

David K Stevens, P.E., Ph.D., Professor
Civil and Environmental Engineering
Utah Water Research Laboratory
8200 Old Main Hill
Logan, UT  84322-8200
435 797 3229 - voice
435 797 1363 - fax
david.stevens at usu.edu

More information about the R-help mailing list