On 8/24/07, Gabor Grothendieck <[EMAIL PROTECTED]> wrote:
> On 8/24/07, Gabor Grothendieck <[EMAIL PROTECTED]> wrote:
> > Here are two solutions:
> >
> > > logvec <- c(TRUE,FALSE,FALSE,TRUE,FALSE,FALSE,TRUE,FALSE)
> >
> > > ifelse(logvec, seq_along(logvec), 0)
> > [1] 1 0 0 4 0 0 7 0
> >
> > > replace(logvec * 0, logvec, which(logvec))
> > [1] 1 0 0 4 0 0 7 0
>
> Actually the * 0 is not needed.  The last one could simply be:
>
> replace(logvec, logvec, which(logvec))

If logvec can have NAs then this solution would not work but could
be modified to be done like this:

replace(logvec, which(logvec), which(logvec))

______________________________________________
R-help@stat.math.ethz.ch 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