Thanks Nick! That's exactly what I wanted!

The surrouding with a which was not exactly what I wanted, but

which(apply(sapply(vmat, function(currMat){
  currMat[,999] != 0
}),2,any))

did do the trick.

Thank you very much!!

Cheers,

Germán



2010/12/8 Nick Sabbe <nick.sa...@ugent.be>

> Hello Germán.
>
> You probably want something like:
> sapply(vmat, function(curMat){
>                curMat[,999] != 0
>        })
> Or if you want the indices, just surround this with a which.
>
> HTH.
>
> Nick Sabbe
> --
> ping: nick.sa...@ugent.be
> link: http://biomath.ugent.be
> wink: A1.056, Coupure Links 653, 9000 Gent
> ring: 09/264.59.36
>
> -- Do Not Disapprove
>
>
>
> -----Original Message-----
> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org]
> On
> Behalf Of Germán Sanchis
> Sent: woensdag 8 december 2010 11:50
> To: r-help@r-project.org
> Subject: [R] problem accessing complex list data frames
>
> Hi all.
>
> I am currently attempting to build a list of sparse matrixes. That I have
> already achieved, by
>
> > vmat <- list()
> > for (i in 1:n) {
> >   vmat <- c(vmat, sparseMatrix(i,j,x=data) }
>
> How I am trying to select those elements from the list where the column
> e.g.
> 999 is not null. I can do this for one of the sparse matrices with
>
> > which(vmat[[1]][,999] != 0)
>
> which returns the rows where such column is non-zero.
>
> However, my purpose is to obtain the list indices of the sparse matrices
> with such non-zero elements. I tried things like
>
> which(vmat[[]][,999] != 0)
> which(vmat[,,999] != 0)
> sapply(vmat, which, [,999] != 0)
>
> but none worked... any help will be appreciated!!
>
> Cheers,
>
> German
>
>        [[alternative HTML version deleted]]
>
>
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to