The inverse of which() would have to know the length of the logical vector
to create.  The function could be
   invWhich <- function(whichTrue, length) {
       stopifnot(length <= max(whichTrue), !anyNA(whichTrue))
       v <- logical(length)
       v[whichTrue] <- TRUE
       v
   }
It isn't quite an inverse, as which() treats NA and FALSE the same.

Much of the time dealing with the logical vector (e.g, grepl() instead of
grep()) is less error prone than using which() to convert to indices of the
TRUE values.

Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Wed, Feb 27, 2019 at 3:04 PM Ed Siefker <ebs15...@gmail.com> wrote:

> Given a vector of booleans, chich() will return indices that are TRUE.
>
> Given a vector of indices, how can I get a vector of booleans?
>
> My intent is to do logical operations on the output of grep().  Maybe
> there's a better way to do this?
>
> Thanks
> -Ed
>
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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