[R] Indexing with sparse matrices (SparseM)

Robin Jeffries
2010-05-20T06:22:47Z

Hello,

I'm working with a very large, very sparse X matrix. Let csr.X <- *
as.matrix.csr*(X) as described by the SparseM package.


The documentation says that "Indexing .... work just like they do on dense
matrices". To me this says that I should be able to perform operations on
the rows of csr.X in the same way I would on X itself. E.g.
f <- function(x){
  for (i in 1:n){
    u[i] <- log(1+exp(t(X[i,])%*%beta))
  }
  sm <- sum(u)
  return(sm)
}

However, csr.X[i,] doesn't exist.
Now I get how *as.matrix.csr* coerces X into an object with three arrays,
two indexes and a list of the non-zero data. What I can't quite wrap my
brain around is how I would go about using those indices to perform
iterative operations on the rows of X, for example in my toy function
above.

I'm hoping that someone with more experience working with sparse matrices
can provide a few suggestions or pointers? I'm not hooked on this package
either, it was just the first one I came across via Rseek.


Many thanks,
-Robin

	[[alternative HTML version deleted]]