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.