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.